/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * Autogenerated by Thrift Compiler (0.9.2)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package com.alibaba.jstorm.yarn.generated;

import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;

import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.protocol.TProtocolException;
import org.apache.thrift.EncodingUtils;
import org.apache.thrift.TException;
import org.apache.thrift.async.AsyncMethodCallback;
import org.apache.thrift.server.AbstractNonblockingServer.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import javax.annotation.Generated;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-10-27")
public class JstormAM {

  public interface Iface {

    public String info() throws org.apache.thrift.TException;

    public void stopAppMaster() throws org.apache.thrift.TException;

    public void startNimbus(int number, int container_memory, int container_vcorecount) throws org.apache.thrift.TException;

    public void stopNimbus() throws org.apache.thrift.TException;

    public void removeNimbus(int number) throws org.apache.thrift.TException;

    public void removeSpecNimbus(String container_id) throws org.apache.thrift.TException;

    public void addSupervisors(int number, int container_memory, int container_vcorecount) throws org.apache.thrift.TException;

    public void addSpecSupervisor(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts) throws org.apache.thrift.TException;

    public void startSpecNimbus(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts) throws org.apache.thrift.TException;

    public void startSupervisors() throws org.apache.thrift.TException;

    public void stopSupervisors() throws org.apache.thrift.TException;

    public void removeSupervisors(int number) throws org.apache.thrift.TException;

    public void removeSpecSupervisors(String container_id) throws org.apache.thrift.TException;

    public void upgradeCluster() throws org.apache.thrift.TException;

    public void shutdown() throws org.apache.thrift.TException;

    public String getConfig() throws org.apache.thrift.TException;

    public void setConfig(String key, String value) throws org.apache.thrift.TException;

  }

  public interface AsyncIface {

    public void info(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void stopAppMaster(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void startNimbus(int number, int container_memory, int container_vcorecount, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void stopNimbus(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void removeNimbus(int number, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void removeSpecNimbus(String container_id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void addSupervisors(int number, int container_memory, int container_vcorecount, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void addSpecSupervisor(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void startSpecNimbus(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void startSupervisors(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void stopSupervisors(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void removeSupervisors(int number, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void removeSpecSupervisors(String container_id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void upgradeCluster(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void shutdown(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void getConfig(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void setConfig(String key, String value, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

  }

  public static class Client extends org.apache.thrift.TServiceClient implements Iface {
    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
      public Factory() {}
      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
        return new Client(prot);
      }
      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(org.apache.thrift.protocol.TProtocol prot)
    {
      super(prot, prot);
    }

    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
      super(iprot, oprot);
    }

    public String info() throws org.apache.thrift.TException
    {
      send_info();
      return recv_info();
    }

    public void send_info() throws org.apache.thrift.TException
    {
      info_args args = new info_args();
      sendBase("info", args);
    }

    public String recv_info() throws org.apache.thrift.TException
    {
      info_result result = new info_result();
      receiveBase(result, "info");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "info failed: unknown result");
    }

    public void stopAppMaster() throws org.apache.thrift.TException
    {
      send_stopAppMaster();
      recv_stopAppMaster();
    }

    public void send_stopAppMaster() throws org.apache.thrift.TException
    {
      stopAppMaster_args args = new stopAppMaster_args();
      sendBase("stopAppMaster", args);
    }

    public void recv_stopAppMaster() throws org.apache.thrift.TException
    {
      stopAppMaster_result result = new stopAppMaster_result();
      receiveBase(result, "stopAppMaster");
      return;
    }

    public void startNimbus(int number, int container_memory, int container_vcorecount) throws org.apache.thrift.TException
    {
      send_startNimbus(number, container_memory, container_vcorecount);
      recv_startNimbus();
    }

    public void send_startNimbus(int number, int container_memory, int container_vcorecount) throws org.apache.thrift.TException
    {
      startNimbus_args args = new startNimbus_args();
      args.setNumber(number);
      args.setContainer_memory(container_memory);
      args.setContainer_vcorecount(container_vcorecount);
      sendBase("startNimbus", args);
    }

    public void recv_startNimbus() throws org.apache.thrift.TException
    {
      startNimbus_result result = new startNimbus_result();
      receiveBase(result, "startNimbus");
      return;
    }

    public void stopNimbus() throws org.apache.thrift.TException
    {
      send_stopNimbus();
      recv_stopNimbus();
    }

    public void send_stopNimbus() throws org.apache.thrift.TException
    {
      stopNimbus_args args = new stopNimbus_args();
      sendBase("stopNimbus", args);
    }

    public void recv_stopNimbus() throws org.apache.thrift.TException
    {
      stopNimbus_result result = new stopNimbus_result();
      receiveBase(result, "stopNimbus");
      return;
    }

    public void removeNimbus(int number) throws org.apache.thrift.TException
    {
      send_removeNimbus(number);
      recv_removeNimbus();
    }

    public void send_removeNimbus(int number) throws org.apache.thrift.TException
    {
      removeNimbus_args args = new removeNimbus_args();
      args.setNumber(number);
      sendBase("removeNimbus", args);
    }

    public void recv_removeNimbus() throws org.apache.thrift.TException
    {
      removeNimbus_result result = new removeNimbus_result();
      receiveBase(result, "removeNimbus");
      return;
    }

    public void removeSpecNimbus(String container_id) throws org.apache.thrift.TException
    {
      send_removeSpecNimbus(container_id);
      recv_removeSpecNimbus();
    }

    public void send_removeSpecNimbus(String container_id) throws org.apache.thrift.TException
    {
      removeSpecNimbus_args args = new removeSpecNimbus_args();
      args.setContainer_id(container_id);
      sendBase("removeSpecNimbus", args);
    }

    public void recv_removeSpecNimbus() throws org.apache.thrift.TException
    {
      removeSpecNimbus_result result = new removeSpecNimbus_result();
      receiveBase(result, "removeSpecNimbus");
      return;
    }

    public void addSupervisors(int number, int container_memory, int container_vcorecount) throws org.apache.thrift.TException
    {
      send_addSupervisors(number, container_memory, container_vcorecount);
      recv_addSupervisors();
    }

    public void send_addSupervisors(int number, int container_memory, int container_vcorecount) throws org.apache.thrift.TException
    {
      addSupervisors_args args = new addSupervisors_args();
      args.setNumber(number);
      args.setContainer_memory(container_memory);
      args.setContainer_vcorecount(container_vcorecount);
      sendBase("addSupervisors", args);
    }

    public void recv_addSupervisors() throws org.apache.thrift.TException
    {
      addSupervisors_result result = new addSupervisors_result();
      receiveBase(result, "addSupervisors");
      return;
    }

    public void addSpecSupervisor(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts) throws org.apache.thrift.TException
    {
      send_addSpecSupervisor(number, container_memory, container_vcorecount, racks, hosts);
      recv_addSpecSupervisor();
    }

    public void send_addSpecSupervisor(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts) throws org.apache.thrift.TException
    {
      addSpecSupervisor_args args = new addSpecSupervisor_args();
      args.setNumber(number);
      args.setContainer_memory(container_memory);
      args.setContainer_vcorecount(container_vcorecount);
      args.setRacks(racks);
      args.setHosts(hosts);
      sendBase("addSpecSupervisor", args);
    }

    public void recv_addSpecSupervisor() throws org.apache.thrift.TException
    {
      addSpecSupervisor_result result = new addSpecSupervisor_result();
      receiveBase(result, "addSpecSupervisor");
      return;
    }

    public void startSpecNimbus(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts) throws org.apache.thrift.TException
    {
      send_startSpecNimbus(number, container_memory, container_vcorecount, racks, hosts);
      recv_startSpecNimbus();
    }

    public void send_startSpecNimbus(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts) throws org.apache.thrift.TException
    {
      startSpecNimbus_args args = new startSpecNimbus_args();
      args.setNumber(number);
      args.setContainer_memory(container_memory);
      args.setContainer_vcorecount(container_vcorecount);
      args.setRacks(racks);
      args.setHosts(hosts);
      sendBase("startSpecNimbus", args);
    }

    public void recv_startSpecNimbus() throws org.apache.thrift.TException
    {
      startSpecNimbus_result result = new startSpecNimbus_result();
      receiveBase(result, "startSpecNimbus");
      return;
    }

    public void startSupervisors() throws org.apache.thrift.TException
    {
      send_startSupervisors();
      recv_startSupervisors();
    }

    public void send_startSupervisors() throws org.apache.thrift.TException
    {
      startSupervisors_args args = new startSupervisors_args();
      sendBase("startSupervisors", args);
    }

    public void recv_startSupervisors() throws org.apache.thrift.TException
    {
      startSupervisors_result result = new startSupervisors_result();
      receiveBase(result, "startSupervisors");
      return;
    }

    public void stopSupervisors() throws org.apache.thrift.TException
    {
      send_stopSupervisors();
      recv_stopSupervisors();
    }

    public void send_stopSupervisors() throws org.apache.thrift.TException
    {
      stopSupervisors_args args = new stopSupervisors_args();
      sendBase("stopSupervisors", args);
    }

    public void recv_stopSupervisors() throws org.apache.thrift.TException
    {
      stopSupervisors_result result = new stopSupervisors_result();
      receiveBase(result, "stopSupervisors");
      return;
    }

    public void removeSupervisors(int number) throws org.apache.thrift.TException
    {
      send_removeSupervisors(number);
      recv_removeSupervisors();
    }

    public void send_removeSupervisors(int number) throws org.apache.thrift.TException
    {
      removeSupervisors_args args = new removeSupervisors_args();
      args.setNumber(number);
      sendBase("removeSupervisors", args);
    }

    public void recv_removeSupervisors() throws org.apache.thrift.TException
    {
      removeSupervisors_result result = new removeSupervisors_result();
      receiveBase(result, "removeSupervisors");
      return;
    }

    public void removeSpecSupervisors(String container_id) throws org.apache.thrift.TException
    {
      send_removeSpecSupervisors(container_id);
      recv_removeSpecSupervisors();
    }

    public void send_removeSpecSupervisors(String container_id) throws org.apache.thrift.TException
    {
      removeSpecSupervisors_args args = new removeSpecSupervisors_args();
      args.setContainer_id(container_id);
      sendBase("removeSpecSupervisors", args);
    }

    public void recv_removeSpecSupervisors() throws org.apache.thrift.TException
    {
      removeSpecSupervisors_result result = new removeSpecSupervisors_result();
      receiveBase(result, "removeSpecSupervisors");
      return;
    }

    public void upgradeCluster() throws org.apache.thrift.TException
    {
      send_upgradeCluster();
      recv_upgradeCluster();
    }

    public void send_upgradeCluster() throws org.apache.thrift.TException
    {
      upgradeCluster_args args = new upgradeCluster_args();
      sendBase("upgradeCluster", args);
    }

    public void recv_upgradeCluster() throws org.apache.thrift.TException
    {
      upgradeCluster_result result = new upgradeCluster_result();
      receiveBase(result, "upgradeCluster");
      return;
    }

    public void shutdown() throws org.apache.thrift.TException
    {
      send_shutdown();
      recv_shutdown();
    }

    public void send_shutdown() throws org.apache.thrift.TException
    {
      shutdown_args args = new shutdown_args();
      sendBase("shutdown", args);
    }

    public void recv_shutdown() throws org.apache.thrift.TException
    {
      shutdown_result result = new shutdown_result();
      receiveBase(result, "shutdown");
      return;
    }

    public String getConfig() throws org.apache.thrift.TException
    {
      send_getConfig();
      return recv_getConfig();
    }

    public void send_getConfig() throws org.apache.thrift.TException
    {
      getConfig_args args = new getConfig_args();
      sendBase("getConfig", args);
    }

    public String recv_getConfig() throws org.apache.thrift.TException
    {
      getConfig_result result = new getConfig_result();
      receiveBase(result, "getConfig");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getConfig failed: unknown result");
    }

    public void setConfig(String key, String value) throws org.apache.thrift.TException
    {
      send_setConfig(key, value);
      recv_setConfig();
    }

    public void send_setConfig(String key, String value) throws org.apache.thrift.TException
    {
      setConfig_args args = new setConfig_args();
      args.setKey(key);
      args.setValue(value);
      sendBase("setConfig", args);
    }

    public void recv_setConfig() throws org.apache.thrift.TException
    {
      setConfig_result result = new setConfig_result();
      receiveBase(result, "setConfig");
      return;
    }

  }
  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
      private org.apache.thrift.async.TAsyncClientManager clientManager;
      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    public void info(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      info_call method_call = new info_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class info_call extends org.apache.thrift.async.TAsyncMethodCall {
      public info_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("info", org.apache.thrift.protocol.TMessageType.CALL, 0));
        info_args args = new info_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_info();
      }
    }

    public void stopAppMaster(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      stopAppMaster_call method_call = new stopAppMaster_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class stopAppMaster_call extends org.apache.thrift.async.TAsyncMethodCall {
      public stopAppMaster_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("stopAppMaster", org.apache.thrift.protocol.TMessageType.CALL, 0));
        stopAppMaster_args args = new stopAppMaster_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_stopAppMaster();
      }
    }

    public void startNimbus(int number, int container_memory, int container_vcorecount, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      startNimbus_call method_call = new startNimbus_call(number, container_memory, container_vcorecount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class startNimbus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int number;
      private int container_memory;
      private int container_vcorecount;
      public startNimbus_call(int number, int container_memory, int container_vcorecount, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.number = number;
        this.container_memory = container_memory;
        this.container_vcorecount = container_vcorecount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("startNimbus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        startNimbus_args args = new startNimbus_args();
        args.setNumber(number);
        args.setContainer_memory(container_memory);
        args.setContainer_vcorecount(container_vcorecount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_startNimbus();
      }
    }

    public void stopNimbus(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      stopNimbus_call method_call = new stopNimbus_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class stopNimbus_call extends org.apache.thrift.async.TAsyncMethodCall {
      public stopNimbus_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("stopNimbus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        stopNimbus_args args = new stopNimbus_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_stopNimbus();
      }
    }

    public void removeNimbus(int number, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      removeNimbus_call method_call = new removeNimbus_call(number, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class removeNimbus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int number;
      public removeNimbus_call(int number, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.number = number;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeNimbus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        removeNimbus_args args = new removeNimbus_args();
        args.setNumber(number);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_removeNimbus();
      }
    }

    public void removeSpecNimbus(String container_id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      removeSpecNimbus_call method_call = new removeSpecNimbus_call(container_id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class removeSpecNimbus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String container_id;
      public removeSpecNimbus_call(String container_id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.container_id = container_id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeSpecNimbus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        removeSpecNimbus_args args = new removeSpecNimbus_args();
        args.setContainer_id(container_id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_removeSpecNimbus();
      }
    }

    public void addSupervisors(int number, int container_memory, int container_vcorecount, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addSupervisors_call method_call = new addSupervisors_call(number, container_memory, container_vcorecount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addSupervisors_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int number;
      private int container_memory;
      private int container_vcorecount;
      public addSupervisors_call(int number, int container_memory, int container_vcorecount, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.number = number;
        this.container_memory = container_memory;
        this.container_vcorecount = container_vcorecount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSupervisors", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addSupervisors_args args = new addSupervisors_args();
        args.setNumber(number);
        args.setContainer_memory(container_memory);
        args.setContainer_vcorecount(container_vcorecount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addSupervisors();
      }
    }

    public void addSpecSupervisor(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addSpecSupervisor_call method_call = new addSpecSupervisor_call(number, container_memory, container_vcorecount, racks, hosts, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addSpecSupervisor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int number;
      private int container_memory;
      private int container_vcorecount;
      private List<String> racks;
      private List<String> hosts;
      public addSpecSupervisor_call(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.number = number;
        this.container_memory = container_memory;
        this.container_vcorecount = container_vcorecount;
        this.racks = racks;
        this.hosts = hosts;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSpecSupervisor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addSpecSupervisor_args args = new addSpecSupervisor_args();
        args.setNumber(number);
        args.setContainer_memory(container_memory);
        args.setContainer_vcorecount(container_vcorecount);
        args.setRacks(racks);
        args.setHosts(hosts);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addSpecSupervisor();
      }
    }

    public void startSpecNimbus(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      startSpecNimbus_call method_call = new startSpecNimbus_call(number, container_memory, container_vcorecount, racks, hosts, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class startSpecNimbus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int number;
      private int container_memory;
      private int container_vcorecount;
      private List<String> racks;
      private List<String> hosts;
      public startSpecNimbus_call(int number, int container_memory, int container_vcorecount, List<String> racks, List<String> hosts, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.number = number;
        this.container_memory = container_memory;
        this.container_vcorecount = container_vcorecount;
        this.racks = racks;
        this.hosts = hosts;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("startSpecNimbus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        startSpecNimbus_args args = new startSpecNimbus_args();
        args.setNumber(number);
        args.setContainer_memory(container_memory);
        args.setContainer_vcorecount(container_vcorecount);
        args.setRacks(racks);
        args.setHosts(hosts);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_startSpecNimbus();
      }
    }

    public void startSupervisors(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      startSupervisors_call method_call = new startSupervisors_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class startSupervisors_call extends org.apache.thrift.async.TAsyncMethodCall {
      public startSupervisors_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("startSupervisors", org.apache.thrift.protocol.TMessageType.CALL, 0));
        startSupervisors_args args = new startSupervisors_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_startSupervisors();
      }
    }

    public void stopSupervisors(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      stopSupervisors_call method_call = new stopSupervisors_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class stopSupervisors_call extends org.apache.thrift.async.TAsyncMethodCall {
      public stopSupervisors_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("stopSupervisors", org.apache.thrift.protocol.TMessageType.CALL, 0));
        stopSupervisors_args args = new stopSupervisors_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_stopSupervisors();
      }
    }

    public void removeSupervisors(int number, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      removeSupervisors_call method_call = new removeSupervisors_call(number, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class removeSupervisors_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int number;
      public removeSupervisors_call(int number, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.number = number;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeSupervisors", org.apache.thrift.protocol.TMessageType.CALL, 0));
        removeSupervisors_args args = new removeSupervisors_args();
        args.setNumber(number);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_removeSupervisors();
      }
    }

    public void removeSpecSupervisors(String container_id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      removeSpecSupervisors_call method_call = new removeSpecSupervisors_call(container_id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class removeSpecSupervisors_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String container_id;
      public removeSpecSupervisors_call(String container_id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.container_id = container_id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeSpecSupervisors", org.apache.thrift.protocol.TMessageType.CALL, 0));
        removeSpecSupervisors_args args = new removeSpecSupervisors_args();
        args.setContainer_id(container_id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_removeSpecSupervisors();
      }
    }

    public void upgradeCluster(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      upgradeCluster_call method_call = new upgradeCluster_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class upgradeCluster_call extends org.apache.thrift.async.TAsyncMethodCall {
      public upgradeCluster_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("upgradeCluster", org.apache.thrift.protocol.TMessageType.CALL, 0));
        upgradeCluster_args args = new upgradeCluster_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_upgradeCluster();
      }
    }

    public void shutdown(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      shutdown_call method_call = new shutdown_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class shutdown_call extends org.apache.thrift.async.TAsyncMethodCall {
      public shutdown_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shutdown", org.apache.thrift.protocol.TMessageType.CALL, 0));
        shutdown_args args = new shutdown_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_shutdown();
      }
    }

    public void getConfig(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getConfig_call method_call = new getConfig_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getConfig_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getConfig_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getConfig", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getConfig_args args = new getConfig_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getConfig();
      }
    }

    public void setConfig(String key, String value, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      setConfig_call method_call = new setConfig_call(key, value, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class setConfig_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String key;
      private String value;
      public setConfig_call(String key, String value, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
        this.value = value;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setConfig", org.apache.thrift.protocol.TMessageType.CALL, 0));
        setConfig_args args = new setConfig_args();
        args.setKey(key);
        args.setValue(value);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_setConfig();
      }
    }

  }

  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
    }

    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      processMap.put("info", new info());
      processMap.put("stopAppMaster", new stopAppMaster());
      processMap.put("startNimbus", new startNimbus());
      processMap.put("stopNimbus", new stopNimbus());
      processMap.put("removeNimbus", new removeNimbus());
      processMap.put("removeSpecNimbus", new removeSpecNimbus());
      processMap.put("addSupervisors", new addSupervisors());
      processMap.put("addSpecSupervisor", new addSpecSupervisor());
      processMap.put("startSpecNimbus", new startSpecNimbus());
      processMap.put("startSupervisors", new startSupervisors());
      processMap.put("stopSupervisors", new stopSupervisors());
      processMap.put("removeSupervisors", new removeSupervisors());
      processMap.put("removeSpecSupervisors", new removeSpecSupervisors());
      processMap.put("upgradeCluster", new upgradeCluster());
      processMap.put("shutdown", new shutdown());
      processMap.put("getConfig", new getConfig());
      processMap.put("setConfig", new setConfig());
      return processMap;
    }

    public static class info<I extends Iface> extends org.apache.thrift.ProcessFunction<I, info_args> {
      public info() {
        super("info");
      }

      public info_args getEmptyArgsInstance() {
        return new info_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public info_result getResult(I iface, info_args args) throws org.apache.thrift.TException {
        info_result result = new info_result();
        result.success = iface.info();
        return result;
      }
    }

    public static class stopAppMaster<I extends Iface> extends org.apache.thrift.ProcessFunction<I, stopAppMaster_args> {
      public stopAppMaster() {
        super("stopAppMaster");
      }

      public stopAppMaster_args getEmptyArgsInstance() {
        return new stopAppMaster_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public stopAppMaster_result getResult(I iface, stopAppMaster_args args) throws org.apache.thrift.TException {
        stopAppMaster_result result = new stopAppMaster_result();
        iface.stopAppMaster();
        return result;
      }
    }

    public static class startNimbus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, startNimbus_args> {
      public startNimbus() {
        super("startNimbus");
      }

      public startNimbus_args getEmptyArgsInstance() {
        return new startNimbus_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public startNimbus_result getResult(I iface, startNimbus_args args) throws org.apache.thrift.TException {
        startNimbus_result result = new startNimbus_result();
        iface.startNimbus(args.number, args.container_memory, args.container_vcorecount);
        return result;
      }
    }

    public static class stopNimbus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, stopNimbus_args> {
      public stopNimbus() {
        super("stopNimbus");
      }

      public stopNimbus_args getEmptyArgsInstance() {
        return new stopNimbus_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public stopNimbus_result getResult(I iface, stopNimbus_args args) throws org.apache.thrift.TException {
        stopNimbus_result result = new stopNimbus_result();
        iface.stopNimbus();
        return result;
      }
    }

    public static class removeNimbus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeNimbus_args> {
      public removeNimbus() {
        super("removeNimbus");
      }

      public removeNimbus_args getEmptyArgsInstance() {
        return new removeNimbus_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public removeNimbus_result getResult(I iface, removeNimbus_args args) throws org.apache.thrift.TException {
        removeNimbus_result result = new removeNimbus_result();
        iface.removeNimbus(args.number);
        return result;
      }
    }

    public static class removeSpecNimbus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeSpecNimbus_args> {
      public removeSpecNimbus() {
        super("removeSpecNimbus");
      }

      public removeSpecNimbus_args getEmptyArgsInstance() {
        return new removeSpecNimbus_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public removeSpecNimbus_result getResult(I iface, removeSpecNimbus_args args) throws org.apache.thrift.TException {
        removeSpecNimbus_result result = new removeSpecNimbus_result();
        iface.removeSpecNimbus(args.container_id);
        return result;
      }
    }

    public static class addSupervisors<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addSupervisors_args> {
      public addSupervisors() {
        super("addSupervisors");
      }

      public addSupervisors_args getEmptyArgsInstance() {
        return new addSupervisors_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public addSupervisors_result getResult(I iface, addSupervisors_args args) throws org.apache.thrift.TException {
        addSupervisors_result result = new addSupervisors_result();
        iface.addSupervisors(args.number, args.container_memory, args.container_vcorecount);
        return result;
      }
    }

    public static class addSpecSupervisor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addSpecSupervisor_args> {
      public addSpecSupervisor() {
        super("addSpecSupervisor");
      }

      public addSpecSupervisor_args getEmptyArgsInstance() {
        return new addSpecSupervisor_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public addSpecSupervisor_result getResult(I iface, addSpecSupervisor_args args) throws org.apache.thrift.TException {
        addSpecSupervisor_result result = new addSpecSupervisor_result();
        iface.addSpecSupervisor(args.number, args.container_memory, args.container_vcorecount, args.racks, args.hosts);
        return result;
      }
    }

    public static class startSpecNimbus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, startSpecNimbus_args> {
      public startSpecNimbus() {
        super("startSpecNimbus");
      }

      public startSpecNimbus_args getEmptyArgsInstance() {
        return new startSpecNimbus_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public startSpecNimbus_result getResult(I iface, startSpecNimbus_args args) throws org.apache.thrift.TException {
        startSpecNimbus_result result = new startSpecNimbus_result();
        iface.startSpecNimbus(args.number, args.container_memory, args.container_vcorecount, args.racks, args.hosts);
        return result;
      }
    }

    public static class startSupervisors<I extends Iface> extends org.apache.thrift.ProcessFunction<I, startSupervisors_args> {
      public startSupervisors() {
        super("startSupervisors");
      }

      public startSupervisors_args getEmptyArgsInstance() {
        return new startSupervisors_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public startSupervisors_result getResult(I iface, startSupervisors_args args) throws org.apache.thrift.TException {
        startSupervisors_result result = new startSupervisors_result();
        iface.startSupervisors();
        return result;
      }
    }

    public static class stopSupervisors<I extends Iface> extends org.apache.thrift.ProcessFunction<I, stopSupervisors_args> {
      public stopSupervisors() {
        super("stopSupervisors");
      }

      public stopSupervisors_args getEmptyArgsInstance() {
        return new stopSupervisors_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public stopSupervisors_result getResult(I iface, stopSupervisors_args args) throws org.apache.thrift.TException {
        stopSupervisors_result result = new stopSupervisors_result();
        iface.stopSupervisors();
        return result;
      }
    }

    public static class removeSupervisors<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeSupervisors_args> {
      public removeSupervisors() {
        super("removeSupervisors");
      }

      public removeSupervisors_args getEmptyArgsInstance() {
        return new removeSupervisors_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public removeSupervisors_result getResult(I iface, removeSupervisors_args args) throws org.apache.thrift.TException {
        removeSupervisors_result result = new removeSupervisors_result();
        iface.removeSupervisors(args.number);
        return result;
      }
    }

    public static class removeSpecSupervisors<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeSpecSupervisors_args> {
      public removeSpecSupervisors() {
        super("removeSpecSupervisors");
      }

      public removeSpecSupervisors_args getEmptyArgsInstance() {
        return new removeSpecSupervisors_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public removeSpecSupervisors_result getResult(I iface, removeSpecSupervisors_args args) throws org.apache.thrift.TException {
        removeSpecSupervisors_result result = new removeSpecSupervisors_result();
        iface.removeSpecSupervisors(args.container_id);
        return result;
      }
    }

    public static class upgradeCluster<I extends Iface> extends org.apache.thrift.ProcessFunction<I, upgradeCluster_args> {
      public upgradeCluster() {
        super("upgradeCluster");
      }

      public upgradeCluster_args getEmptyArgsInstance() {
        return new upgradeCluster_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public upgradeCluster_result getResult(I iface, upgradeCluster_args args) throws org.apache.thrift.TException {
        upgradeCluster_result result = new upgradeCluster_result();
        iface.upgradeCluster();
        return result;
      }
    }

    public static class shutdown<I extends Iface> extends org.apache.thrift.ProcessFunction<I, shutdown_args> {
      public shutdown() {
        super("shutdown");
      }

      public shutdown_args getEmptyArgsInstance() {
        return new shutdown_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public shutdown_result getResult(I iface, shutdown_args args) throws org.apache.thrift.TException {
        shutdown_result result = new shutdown_result();
        iface.shutdown();
        return result;
      }
    }

    public static class getConfig<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getConfig_args> {
      public getConfig() {
        super("getConfig");
      }

      public getConfig_args getEmptyArgsInstance() {
        return new getConfig_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public getConfig_result getResult(I iface, getConfig_args args) throws org.apache.thrift.TException {
        getConfig_result result = new getConfig_result();
        result.success = iface.getConfig();
        return result;
      }
    }

    public static class setConfig<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setConfig_args> {
      public setConfig() {
        super("setConfig");
      }

      public setConfig_args getEmptyArgsInstance() {
        return new setConfig_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public setConfig_result getResult(I iface, setConfig_args args) throws org.apache.thrift.TException {
        setConfig_result result = new setConfig_result();
        iface.setConfig(args.key, args.value);
        return result;
      }
    }

  }

  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
    public AsyncProcessor(I iface) {
      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
    }

    protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
      processMap.put("info", new info());
      processMap.put("stopAppMaster", new stopAppMaster());
      processMap.put("startNimbus", new startNimbus());
      processMap.put("stopNimbus", new stopNimbus());
      processMap.put("removeNimbus", new removeNimbus());
      processMap.put("removeSpecNimbus", new removeSpecNimbus());
      processMap.put("addSupervisors", new addSupervisors());
      processMap.put("addSpecSupervisor", new addSpecSupervisor());
      processMap.put("startSpecNimbus", new startSpecNimbus());
      processMap.put("startSupervisors", new startSupervisors());
      processMap.put("stopSupervisors", new stopSupervisors());
      processMap.put("removeSupervisors", new removeSupervisors());
      processMap.put("removeSpecSupervisors", new removeSpecSupervisors());
      processMap.put("upgradeCluster", new upgradeCluster());
      processMap.put("shutdown", new shutdown());
      processMap.put("getConfig", new getConfig());
      processMap.put("setConfig", new setConfig());
      return processMap;
    }

    public static class info<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, info_args, String> {
      public info() {
        super("info");
      }

      public info_args getEmptyArgsInstance() {
        return new info_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            info_result result = new info_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            info_result result = new info_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, info_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.info(resultHandler);
      }
    }

    public static class stopAppMaster<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, stopAppMaster_args, Void> {
      public stopAppMaster() {
        super("stopAppMaster");
      }

      public stopAppMaster_args getEmptyArgsInstance() {
        return new stopAppMaster_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            stopAppMaster_result result = new stopAppMaster_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            stopAppMaster_result result = new stopAppMaster_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, stopAppMaster_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.stopAppMaster(resultHandler);
      }
    }

    public static class startNimbus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, startNimbus_args, Void> {
      public startNimbus() {
        super("startNimbus");
      }

      public startNimbus_args getEmptyArgsInstance() {
        return new startNimbus_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            startNimbus_result result = new startNimbus_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            startNimbus_result result = new startNimbus_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, startNimbus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.startNimbus(args.number, args.container_memory, args.container_vcorecount,resultHandler);
      }
    }

    public static class stopNimbus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, stopNimbus_args, Void> {
      public stopNimbus() {
        super("stopNimbus");
      }

      public stopNimbus_args getEmptyArgsInstance() {
        return new stopNimbus_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            stopNimbus_result result = new stopNimbus_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            stopNimbus_result result = new stopNimbus_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, stopNimbus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.stopNimbus(resultHandler);
      }
    }

    public static class removeNimbus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeNimbus_args, Void> {
      public removeNimbus() {
        super("removeNimbus");
      }

      public removeNimbus_args getEmptyArgsInstance() {
        return new removeNimbus_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            removeNimbus_result result = new removeNimbus_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            removeNimbus_result result = new removeNimbus_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, removeNimbus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.removeNimbus(args.number,resultHandler);
      }
    }

    public static class removeSpecNimbus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeSpecNimbus_args, Void> {
      public removeSpecNimbus() {
        super("removeSpecNimbus");
      }

      public removeSpecNimbus_args getEmptyArgsInstance() {
        return new removeSpecNimbus_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            removeSpecNimbus_result result = new removeSpecNimbus_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            removeSpecNimbus_result result = new removeSpecNimbus_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, removeSpecNimbus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.removeSpecNimbus(args.container_id,resultHandler);
      }
    }

    public static class addSupervisors<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSupervisors_args, Void> {
      public addSupervisors() {
        super("addSupervisors");
      }

      public addSupervisors_args getEmptyArgsInstance() {
        return new addSupervisors_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            addSupervisors_result result = new addSupervisors_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            addSupervisors_result result = new addSupervisors_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, addSupervisors_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.addSupervisors(args.number, args.container_memory, args.container_vcorecount,resultHandler);
      }
    }

    public static class addSpecSupervisor<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addSpecSupervisor_args, Void> {
      public addSpecSupervisor() {
        super("addSpecSupervisor");
      }

      public addSpecSupervisor_args getEmptyArgsInstance() {
        return new addSpecSupervisor_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            addSpecSupervisor_result result = new addSpecSupervisor_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            addSpecSupervisor_result result = new addSpecSupervisor_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, addSpecSupervisor_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.addSpecSupervisor(args.number, args.container_memory, args.container_vcorecount, args.racks, args.hosts,resultHandler);
      }
    }

    public static class startSpecNimbus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, startSpecNimbus_args, Void> {
      public startSpecNimbus() {
        super("startSpecNimbus");
      }

      public startSpecNimbus_args getEmptyArgsInstance() {
        return new startSpecNimbus_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            startSpecNimbus_result result = new startSpecNimbus_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            startSpecNimbus_result result = new startSpecNimbus_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, startSpecNimbus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.startSpecNimbus(args.number, args.container_memory, args.container_vcorecount, args.racks, args.hosts,resultHandler);
      }
    }

    public static class startSupervisors<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, startSupervisors_args, Void> {
      public startSupervisors() {
        super("startSupervisors");
      }

      public startSupervisors_args getEmptyArgsInstance() {
        return new startSupervisors_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            startSupervisors_result result = new startSupervisors_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            startSupervisors_result result = new startSupervisors_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, startSupervisors_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.startSupervisors(resultHandler);
      }
    }

    public static class stopSupervisors<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, stopSupervisors_args, Void> {
      public stopSupervisors() {
        super("stopSupervisors");
      }

      public stopSupervisors_args getEmptyArgsInstance() {
        return new stopSupervisors_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            stopSupervisors_result result = new stopSupervisors_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            stopSupervisors_result result = new stopSupervisors_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, stopSupervisors_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.stopSupervisors(resultHandler);
      }
    }

    public static class removeSupervisors<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeSupervisors_args, Void> {
      public removeSupervisors() {
        super("removeSupervisors");
      }

      public removeSupervisors_args getEmptyArgsInstance() {
        return new removeSupervisors_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            removeSupervisors_result result = new removeSupervisors_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            removeSupervisors_result result = new removeSupervisors_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, removeSupervisors_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.removeSupervisors(args.number,resultHandler);
      }
    }

    public static class removeSpecSupervisors<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeSpecSupervisors_args, Void> {
      public removeSpecSupervisors() {
        super("removeSpecSupervisors");
      }

      public removeSpecSupervisors_args getEmptyArgsInstance() {
        return new removeSpecSupervisors_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            removeSpecSupervisors_result result = new removeSpecSupervisors_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            removeSpecSupervisors_result result = new removeSpecSupervisors_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, removeSpecSupervisors_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.removeSpecSupervisors(args.container_id,resultHandler);
      }
    }

    public static class upgradeCluster<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, upgradeCluster_args, Void> {
      public upgradeCluster() {
        super("upgradeCluster");
      }

      public upgradeCluster_args getEmptyArgsInstance() {
        return new upgradeCluster_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            upgradeCluster_result result = new upgradeCluster_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            upgradeCluster_result result = new upgradeCluster_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, upgradeCluster_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.upgradeCluster(resultHandler);
      }
    }

    public static class shutdown<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, shutdown_args, Void> {
      public shutdown() {
        super("shutdown");
      }

      public shutdown_args getEmptyArgsInstance() {
        return new shutdown_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            shutdown_result result = new shutdown_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            shutdown_result result = new shutdown_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, shutdown_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.shutdown(resultHandler);
      }
    }

    public static class getConfig<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getConfig_args, String> {
      public getConfig() {
        super("getConfig");
      }

      public getConfig_args getEmptyArgsInstance() {
        return new getConfig_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            getConfig_result result = new getConfig_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            getConfig_result result = new getConfig_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, getConfig_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.getConfig(resultHandler);
      }
    }

    public static class setConfig<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, setConfig_args, Void> {
      public setConfig() {
        super("setConfig");
      }

      public setConfig_args getEmptyArgsInstance() {
        return new setConfig_args();
      }

      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<Void>() { 
          public void onComplete(Void o) {
            setConfig_result result = new setConfig_result();
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            setConfig_result result = new setConfig_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, setConfig_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
        iface.setConfig(args.key, args.value,resultHandler);
      }
    }

  }

  public static class info_args implements org.apache.thrift.TBase<info_args, info_args._Fields>, java.io.Serializable, Cloneable, Comparable<info_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("info_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new info_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new info_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(info_args.class, metaDataMap);
    }

    public info_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public info_args(info_args other) {
    }

    public info_args deepCopy() {
      return new info_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof info_args)
        return this.equals((info_args)that);
      return false;
    }

    public boolean equals(info_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(info_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("info_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class info_argsStandardSchemeFactory implements SchemeFactory {
      public info_argsStandardScheme getScheme() {
        return new info_argsStandardScheme();
      }
    }

    private static class info_argsStandardScheme extends StandardScheme<info_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, info_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, info_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class info_argsTupleSchemeFactory implements SchemeFactory {
      public info_argsTupleScheme getScheme() {
        return new info_argsTupleScheme();
      }
    }

    private static class info_argsTupleScheme extends TupleScheme<info_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, info_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, info_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class info_result implements org.apache.thrift.TBase<info_result, info_result._Fields>, java.io.Serializable, Cloneable, Comparable<info_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("info_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new info_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new info_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(info_result.class, metaDataMap);
    }

    public info_result() {
    }

    public info_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public info_result(info_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public info_result deepCopy() {
      return new info_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public info_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof info_result)
        return this.equals((info_result)that);
      return false;
    }

    public boolean equals(info_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      return list.hashCode();
    }

    @Override
    public int compareTo(info_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("info_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class info_resultStandardSchemeFactory implements SchemeFactory {
      public info_resultStandardScheme getScheme() {
        return new info_resultStandardScheme();
      }
    }

    private static class info_resultStandardScheme extends StandardScheme<info_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, info_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, info_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class info_resultTupleSchemeFactory implements SchemeFactory {
      public info_resultTupleScheme getScheme() {
        return new info_resultTupleScheme();
      }
    }

    private static class info_resultTupleScheme extends TupleScheme<info_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, info_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, info_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class stopAppMaster_args implements org.apache.thrift.TBase<stopAppMaster_args, stopAppMaster_args._Fields>, java.io.Serializable, Cloneable, Comparable<stopAppMaster_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopAppMaster_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopAppMaster_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopAppMaster_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopAppMaster_args.class, metaDataMap);
    }

    public stopAppMaster_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopAppMaster_args(stopAppMaster_args other) {
    }

    public stopAppMaster_args deepCopy() {
      return new stopAppMaster_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopAppMaster_args)
        return this.equals((stopAppMaster_args)that);
      return false;
    }

    public boolean equals(stopAppMaster_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(stopAppMaster_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopAppMaster_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopAppMaster_argsStandardSchemeFactory implements SchemeFactory {
      public stopAppMaster_argsStandardScheme getScheme() {
        return new stopAppMaster_argsStandardScheme();
      }
    }

    private static class stopAppMaster_argsStandardScheme extends StandardScheme<stopAppMaster_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopAppMaster_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopAppMaster_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopAppMaster_argsTupleSchemeFactory implements SchemeFactory {
      public stopAppMaster_argsTupleScheme getScheme() {
        return new stopAppMaster_argsTupleScheme();
      }
    }

    private static class stopAppMaster_argsTupleScheme extends TupleScheme<stopAppMaster_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopAppMaster_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopAppMaster_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class stopAppMaster_result implements org.apache.thrift.TBase<stopAppMaster_result, stopAppMaster_result._Fields>, java.io.Serializable, Cloneable, Comparable<stopAppMaster_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopAppMaster_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopAppMaster_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopAppMaster_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopAppMaster_result.class, metaDataMap);
    }

    public stopAppMaster_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopAppMaster_result(stopAppMaster_result other) {
    }

    public stopAppMaster_result deepCopy() {
      return new stopAppMaster_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopAppMaster_result)
        return this.equals((stopAppMaster_result)that);
      return false;
    }

    public boolean equals(stopAppMaster_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(stopAppMaster_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopAppMaster_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopAppMaster_resultStandardSchemeFactory implements SchemeFactory {
      public stopAppMaster_resultStandardScheme getScheme() {
        return new stopAppMaster_resultStandardScheme();
      }
    }

    private static class stopAppMaster_resultStandardScheme extends StandardScheme<stopAppMaster_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopAppMaster_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopAppMaster_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopAppMaster_resultTupleSchemeFactory implements SchemeFactory {
      public stopAppMaster_resultTupleScheme getScheme() {
        return new stopAppMaster_resultTupleScheme();
      }
    }

    private static class stopAppMaster_resultTupleScheme extends TupleScheme<stopAppMaster_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopAppMaster_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopAppMaster_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class startNimbus_args implements org.apache.thrift.TBase<startNimbus_args, startNimbus_args._Fields>, java.io.Serializable, Cloneable, Comparable<startNimbus_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startNimbus_args");

    private static final org.apache.thrift.protocol.TField NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("number", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField CONTAINER_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("container_memory", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField CONTAINER_VCORECOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("container_vcorecount", org.apache.thrift.protocol.TType.I32, (short)3);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startNimbus_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startNimbus_argsTupleSchemeFactory());
    }

    public int number; // required
    public int container_memory; // required
    public int container_vcorecount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NUMBER((short)1, "number"),
      CONTAINER_MEMORY((short)2, "container_memory"),
      CONTAINER_VCORECOUNT((short)3, "container_vcorecount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NUMBER
            return NUMBER;
          case 2: // CONTAINER_MEMORY
            return CONTAINER_MEMORY;
          case 3: // CONTAINER_VCORECOUNT
            return CONTAINER_VCORECOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __NUMBER_ISSET_ID = 0;
    private static final int __CONTAINER_MEMORY_ISSET_ID = 1;
    private static final int __CONTAINER_VCORECOUNT_ISSET_ID = 2;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NUMBER, new org.apache.thrift.meta_data.FieldMetaData("number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("container_memory", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_VCORECOUNT, new org.apache.thrift.meta_data.FieldMetaData("container_vcorecount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startNimbus_args.class, metaDataMap);
    }

    public startNimbus_args() {
    }

    public startNimbus_args(
      int number,
      int container_memory,
      int container_vcorecount)
    {
      this();
      this.number = number;
      setNumberIsSet(true);
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startNimbus_args(startNimbus_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.number = other.number;
      this.container_memory = other.container_memory;
      this.container_vcorecount = other.container_vcorecount;
    }

    public startNimbus_args deepCopy() {
      return new startNimbus_args(this);
    }

    @Override
    public void clear() {
      setNumberIsSet(false);
      this.number = 0;
      setContainer_memoryIsSet(false);
      this.container_memory = 0;
      setContainer_vcorecountIsSet(false);
      this.container_vcorecount = 0;
    }

    public int getNumber() {
      return this.number;
    }

    public startNimbus_args setNumber(int number) {
      this.number = number;
      setNumberIsSet(true);
      return this;
    }

    public void unsetNumber() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    /** Returns true if field number is set (has been assigned a value) and false otherwise */
    public boolean isSetNumber() {
      return EncodingUtils.testBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    public void setNumberIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBER_ISSET_ID, value);
    }

    public int getContainer_memory() {
      return this.container_memory;
    }

    public startNimbus_args setContainer_memory(int container_memory) {
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      return this;
    }

    public void unsetContainer_memory() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    /** Returns true if field container_memory is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_memory() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    public void setContainer_memoryIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID, value);
    }

    public int getContainer_vcorecount() {
      return this.container_vcorecount;
    }

    public startNimbus_args setContainer_vcorecount(int container_vcorecount) {
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
      return this;
    }

    public void unsetContainer_vcorecount() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    /** Returns true if field container_vcorecount is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_vcorecount() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    public void setContainer_vcorecountIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case NUMBER:
        if (value == null) {
          unsetNumber();
        } else {
          setNumber((Integer)value);
        }
        break;

      case CONTAINER_MEMORY:
        if (value == null) {
          unsetContainer_memory();
        } else {
          setContainer_memory((Integer)value);
        }
        break;

      case CONTAINER_VCORECOUNT:
        if (value == null) {
          unsetContainer_vcorecount();
        } else {
          setContainer_vcorecount((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case NUMBER:
        return Integer.valueOf(getNumber());

      case CONTAINER_MEMORY:
        return Integer.valueOf(getContainer_memory());

      case CONTAINER_VCORECOUNT:
        return Integer.valueOf(getContainer_vcorecount());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case NUMBER:
        return isSetNumber();
      case CONTAINER_MEMORY:
        return isSetContainer_memory();
      case CONTAINER_VCORECOUNT:
        return isSetContainer_vcorecount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startNimbus_args)
        return this.equals((startNimbus_args)that);
      return false;
    }

    public boolean equals(startNimbus_args that) {
      if (that == null)
        return false;

      boolean this_present_number = true;
      boolean that_present_number = true;
      if (this_present_number || that_present_number) {
        if (!(this_present_number && that_present_number))
          return false;
        if (this.number != that.number)
          return false;
      }

      boolean this_present_container_memory = true;
      boolean that_present_container_memory = true;
      if (this_present_container_memory || that_present_container_memory) {
        if (!(this_present_container_memory && that_present_container_memory))
          return false;
        if (this.container_memory != that.container_memory)
          return false;
      }

      boolean this_present_container_vcorecount = true;
      boolean that_present_container_vcorecount = true;
      if (this_present_container_vcorecount || that_present_container_vcorecount) {
        if (!(this_present_container_vcorecount && that_present_container_vcorecount))
          return false;
        if (this.container_vcorecount != that.container_vcorecount)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_number = true;
      list.add(present_number);
      if (present_number)
        list.add(number);

      boolean present_container_memory = true;
      list.add(present_container_memory);
      if (present_container_memory)
        list.add(container_memory);

      boolean present_container_vcorecount = true;
      list.add(present_container_vcorecount);
      if (present_container_vcorecount)
        list.add(container_vcorecount);

      return list.hashCode();
    }

    @Override
    public int compareTo(startNimbus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetNumber()).compareTo(other.isSetNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.number, other.number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_memory()).compareTo(other.isSetContainer_memory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_memory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_memory, other.container_memory);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_vcorecount()).compareTo(other.isSetContainer_vcorecount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_vcorecount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_vcorecount, other.container_vcorecount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startNimbus_args(");
      boolean first = true;

      sb.append("number:");
      sb.append(this.number);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_memory:");
      sb.append(this.container_memory);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_vcorecount:");
      sb.append(this.container_vcorecount);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startNimbus_argsStandardSchemeFactory implements SchemeFactory {
      public startNimbus_argsStandardScheme getScheme() {
        return new startNimbus_argsStandardScheme();
      }
    }

    private static class startNimbus_argsStandardScheme extends StandardScheme<startNimbus_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startNimbus_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NUMBER
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.number = iprot.readI32();
                struct.setNumberIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CONTAINER_MEMORY
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_memory = iprot.readI32();
                struct.setContainer_memoryIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // CONTAINER_VCORECOUNT
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_vcorecount = iprot.readI32();
                struct.setContainer_vcorecountIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startNimbus_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(NUMBER_FIELD_DESC);
        oprot.writeI32(struct.number);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_MEMORY_FIELD_DESC);
        oprot.writeI32(struct.container_memory);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_VCORECOUNT_FIELD_DESC);
        oprot.writeI32(struct.container_vcorecount);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startNimbus_argsTupleSchemeFactory implements SchemeFactory {
      public startNimbus_argsTupleScheme getScheme() {
        return new startNimbus_argsTupleScheme();
      }
    }

    private static class startNimbus_argsTupleScheme extends TupleScheme<startNimbus_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetNumber()) {
          optionals.set(0);
        }
        if (struct.isSetContainer_memory()) {
          optionals.set(1);
        }
        if (struct.isSetContainer_vcorecount()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetNumber()) {
          oprot.writeI32(struct.number);
        }
        if (struct.isSetContainer_memory()) {
          oprot.writeI32(struct.container_memory);
        }
        if (struct.isSetContainer_vcorecount()) {
          oprot.writeI32(struct.container_vcorecount);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.number = iprot.readI32();
          struct.setNumberIsSet(true);
        }
        if (incoming.get(1)) {
          struct.container_memory = iprot.readI32();
          struct.setContainer_memoryIsSet(true);
        }
        if (incoming.get(2)) {
          struct.container_vcorecount = iprot.readI32();
          struct.setContainer_vcorecountIsSet(true);
        }
      }
    }

  }

  public static class startNimbus_result implements org.apache.thrift.TBase<startNimbus_result, startNimbus_result._Fields>, java.io.Serializable, Cloneable, Comparable<startNimbus_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startNimbus_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startNimbus_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startNimbus_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startNimbus_result.class, metaDataMap);
    }

    public startNimbus_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startNimbus_result(startNimbus_result other) {
    }

    public startNimbus_result deepCopy() {
      return new startNimbus_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startNimbus_result)
        return this.equals((startNimbus_result)that);
      return false;
    }

    public boolean equals(startNimbus_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(startNimbus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startNimbus_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startNimbus_resultStandardSchemeFactory implements SchemeFactory {
      public startNimbus_resultStandardScheme getScheme() {
        return new startNimbus_resultStandardScheme();
      }
    }

    private static class startNimbus_resultStandardScheme extends StandardScheme<startNimbus_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startNimbus_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startNimbus_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startNimbus_resultTupleSchemeFactory implements SchemeFactory {
      public startNimbus_resultTupleScheme getScheme() {
        return new startNimbus_resultTupleScheme();
      }
    }

    private static class startNimbus_resultTupleScheme extends TupleScheme<startNimbus_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class stopNimbus_args implements org.apache.thrift.TBase<stopNimbus_args, stopNimbus_args._Fields>, java.io.Serializable, Cloneable, Comparable<stopNimbus_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopNimbus_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopNimbus_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopNimbus_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopNimbus_args.class, metaDataMap);
    }

    public stopNimbus_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopNimbus_args(stopNimbus_args other) {
    }

    public stopNimbus_args deepCopy() {
      return new stopNimbus_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopNimbus_args)
        return this.equals((stopNimbus_args)that);
      return false;
    }

    public boolean equals(stopNimbus_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(stopNimbus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopNimbus_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopNimbus_argsStandardSchemeFactory implements SchemeFactory {
      public stopNimbus_argsStandardScheme getScheme() {
        return new stopNimbus_argsStandardScheme();
      }
    }

    private static class stopNimbus_argsStandardScheme extends StandardScheme<stopNimbus_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopNimbus_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopNimbus_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopNimbus_argsTupleSchemeFactory implements SchemeFactory {
      public stopNimbus_argsTupleScheme getScheme() {
        return new stopNimbus_argsTupleScheme();
      }
    }

    private static class stopNimbus_argsTupleScheme extends TupleScheme<stopNimbus_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class stopNimbus_result implements org.apache.thrift.TBase<stopNimbus_result, stopNimbus_result._Fields>, java.io.Serializable, Cloneable, Comparable<stopNimbus_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopNimbus_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopNimbus_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopNimbus_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopNimbus_result.class, metaDataMap);
    }

    public stopNimbus_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopNimbus_result(stopNimbus_result other) {
    }

    public stopNimbus_result deepCopy() {
      return new stopNimbus_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopNimbus_result)
        return this.equals((stopNimbus_result)that);
      return false;
    }

    public boolean equals(stopNimbus_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(stopNimbus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopNimbus_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopNimbus_resultStandardSchemeFactory implements SchemeFactory {
      public stopNimbus_resultStandardScheme getScheme() {
        return new stopNimbus_resultStandardScheme();
      }
    }

    private static class stopNimbus_resultStandardScheme extends StandardScheme<stopNimbus_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopNimbus_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopNimbus_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopNimbus_resultTupleSchemeFactory implements SchemeFactory {
      public stopNimbus_resultTupleScheme getScheme() {
        return new stopNimbus_resultTupleScheme();
      }
    }

    private static class stopNimbus_resultTupleScheme extends TupleScheme<stopNimbus_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class removeNimbus_args implements org.apache.thrift.TBase<removeNimbus_args, removeNimbus_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeNimbus_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeNimbus_args");

    private static final org.apache.thrift.protocol.TField NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("number", org.apache.thrift.protocol.TType.I32, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeNimbus_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeNimbus_argsTupleSchemeFactory());
    }

    public int number; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NUMBER((short)1, "number");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NUMBER
            return NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __NUMBER_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NUMBER, new org.apache.thrift.meta_data.FieldMetaData("number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeNimbus_args.class, metaDataMap);
    }

    public removeNimbus_args() {
    }

    public removeNimbus_args(
      int number)
    {
      this();
      this.number = number;
      setNumberIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeNimbus_args(removeNimbus_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.number = other.number;
    }

    public removeNimbus_args deepCopy() {
      return new removeNimbus_args(this);
    }

    @Override
    public void clear() {
      setNumberIsSet(false);
      this.number = 0;
    }

    public int getNumber() {
      return this.number;
    }

    public removeNimbus_args setNumber(int number) {
      this.number = number;
      setNumberIsSet(true);
      return this;
    }

    public void unsetNumber() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    /** Returns true if field number is set (has been assigned a value) and false otherwise */
    public boolean isSetNumber() {
      return EncodingUtils.testBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    public void setNumberIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBER_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case NUMBER:
        if (value == null) {
          unsetNumber();
        } else {
          setNumber((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case NUMBER:
        return Integer.valueOf(getNumber());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case NUMBER:
        return isSetNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeNimbus_args)
        return this.equals((removeNimbus_args)that);
      return false;
    }

    public boolean equals(removeNimbus_args that) {
      if (that == null)
        return false;

      boolean this_present_number = true;
      boolean that_present_number = true;
      if (this_present_number || that_present_number) {
        if (!(this_present_number && that_present_number))
          return false;
        if (this.number != that.number)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_number = true;
      list.add(present_number);
      if (present_number)
        list.add(number);

      return list.hashCode();
    }

    @Override
    public int compareTo(removeNimbus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetNumber()).compareTo(other.isSetNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.number, other.number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeNimbus_args(");
      boolean first = true;

      sb.append("number:");
      sb.append(this.number);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeNimbus_argsStandardSchemeFactory implements SchemeFactory {
      public removeNimbus_argsStandardScheme getScheme() {
        return new removeNimbus_argsStandardScheme();
      }
    }

    private static class removeNimbus_argsStandardScheme extends StandardScheme<removeNimbus_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeNimbus_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NUMBER
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.number = iprot.readI32();
                struct.setNumberIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeNimbus_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(NUMBER_FIELD_DESC);
        oprot.writeI32(struct.number);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeNimbus_argsTupleSchemeFactory implements SchemeFactory {
      public removeNimbus_argsTupleScheme getScheme() {
        return new removeNimbus_argsTupleScheme();
      }
    }

    private static class removeNimbus_argsTupleScheme extends TupleScheme<removeNimbus_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetNumber()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetNumber()) {
          oprot.writeI32(struct.number);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.number = iprot.readI32();
          struct.setNumberIsSet(true);
        }
      }
    }

  }

  public static class removeNimbus_result implements org.apache.thrift.TBase<removeNimbus_result, removeNimbus_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeNimbus_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeNimbus_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeNimbus_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeNimbus_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeNimbus_result.class, metaDataMap);
    }

    public removeNimbus_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeNimbus_result(removeNimbus_result other) {
    }

    public removeNimbus_result deepCopy() {
      return new removeNimbus_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeNimbus_result)
        return this.equals((removeNimbus_result)that);
      return false;
    }

    public boolean equals(removeNimbus_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(removeNimbus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeNimbus_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeNimbus_resultStandardSchemeFactory implements SchemeFactory {
      public removeNimbus_resultStandardScheme getScheme() {
        return new removeNimbus_resultStandardScheme();
      }
    }

    private static class removeNimbus_resultStandardScheme extends StandardScheme<removeNimbus_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeNimbus_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeNimbus_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeNimbus_resultTupleSchemeFactory implements SchemeFactory {
      public removeNimbus_resultTupleScheme getScheme() {
        return new removeNimbus_resultTupleScheme();
      }
    }

    private static class removeNimbus_resultTupleScheme extends TupleScheme<removeNimbus_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class removeSpecNimbus_args implements org.apache.thrift.TBase<removeSpecNimbus_args, removeSpecNimbus_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeSpecNimbus_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeSpecNimbus_args");

    private static final org.apache.thrift.protocol.TField CONTAINER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("container_id", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeSpecNimbus_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeSpecNimbus_argsTupleSchemeFactory());
    }

    public String container_id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CONTAINER_ID((short)1, "container_id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CONTAINER_ID
            return CONTAINER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CONTAINER_ID, new org.apache.thrift.meta_data.FieldMetaData("container_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeSpecNimbus_args.class, metaDataMap);
    }

    public removeSpecNimbus_args() {
    }

    public removeSpecNimbus_args(
      String container_id)
    {
      this();
      this.container_id = container_id;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeSpecNimbus_args(removeSpecNimbus_args other) {
      if (other.isSetContainer_id()) {
        this.container_id = other.container_id;
      }
    }

    public removeSpecNimbus_args deepCopy() {
      return new removeSpecNimbus_args(this);
    }

    @Override
    public void clear() {
      this.container_id = null;
    }

    public String getContainer_id() {
      return this.container_id;
    }

    public removeSpecNimbus_args setContainer_id(String container_id) {
      this.container_id = container_id;
      return this;
    }

    public void unsetContainer_id() {
      this.container_id = null;
    }

    /** Returns true if field container_id is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_id() {
      return this.container_id != null;
    }

    public void setContainer_idIsSet(boolean value) {
      if (!value) {
        this.container_id = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CONTAINER_ID:
        if (value == null) {
          unsetContainer_id();
        } else {
          setContainer_id((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CONTAINER_ID:
        return getContainer_id();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CONTAINER_ID:
        return isSetContainer_id();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeSpecNimbus_args)
        return this.equals((removeSpecNimbus_args)that);
      return false;
    }

    public boolean equals(removeSpecNimbus_args that) {
      if (that == null)
        return false;

      boolean this_present_container_id = true && this.isSetContainer_id();
      boolean that_present_container_id = true && that.isSetContainer_id();
      if (this_present_container_id || that_present_container_id) {
        if (!(this_present_container_id && that_present_container_id))
          return false;
        if (!this.container_id.equals(that.container_id))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_container_id = true && (isSetContainer_id());
      list.add(present_container_id);
      if (present_container_id)
        list.add(container_id);

      return list.hashCode();
    }

    @Override
    public int compareTo(removeSpecNimbus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetContainer_id()).compareTo(other.isSetContainer_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_id, other.container_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeSpecNimbus_args(");
      boolean first = true;

      sb.append("container_id:");
      if (this.container_id == null) {
        sb.append("null");
      } else {
        sb.append(this.container_id);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeSpecNimbus_argsStandardSchemeFactory implements SchemeFactory {
      public removeSpecNimbus_argsStandardScheme getScheme() {
        return new removeSpecNimbus_argsStandardScheme();
      }
    }

    private static class removeSpecNimbus_argsStandardScheme extends StandardScheme<removeSpecNimbus_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeSpecNimbus_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // CONTAINER_ID
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.container_id = iprot.readString();
                struct.setContainer_idIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeSpecNimbus_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.container_id != null) {
          oprot.writeFieldBegin(CONTAINER_ID_FIELD_DESC);
          oprot.writeString(struct.container_id);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeSpecNimbus_argsTupleSchemeFactory implements SchemeFactory {
      public removeSpecNimbus_argsTupleScheme getScheme() {
        return new removeSpecNimbus_argsTupleScheme();
      }
    }

    private static class removeSpecNimbus_argsTupleScheme extends TupleScheme<removeSpecNimbus_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeSpecNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetContainer_id()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetContainer_id()) {
          oprot.writeString(struct.container_id);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeSpecNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.container_id = iprot.readString();
          struct.setContainer_idIsSet(true);
        }
      }
    }

  }

  public static class removeSpecNimbus_result implements org.apache.thrift.TBase<removeSpecNimbus_result, removeSpecNimbus_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeSpecNimbus_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeSpecNimbus_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeSpecNimbus_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeSpecNimbus_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeSpecNimbus_result.class, metaDataMap);
    }

    public removeSpecNimbus_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeSpecNimbus_result(removeSpecNimbus_result other) {
    }

    public removeSpecNimbus_result deepCopy() {
      return new removeSpecNimbus_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeSpecNimbus_result)
        return this.equals((removeSpecNimbus_result)that);
      return false;
    }

    public boolean equals(removeSpecNimbus_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(removeSpecNimbus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeSpecNimbus_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeSpecNimbus_resultStandardSchemeFactory implements SchemeFactory {
      public removeSpecNimbus_resultStandardScheme getScheme() {
        return new removeSpecNimbus_resultStandardScheme();
      }
    }

    private static class removeSpecNimbus_resultStandardScheme extends StandardScheme<removeSpecNimbus_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeSpecNimbus_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeSpecNimbus_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeSpecNimbus_resultTupleSchemeFactory implements SchemeFactory {
      public removeSpecNimbus_resultTupleScheme getScheme() {
        return new removeSpecNimbus_resultTupleScheme();
      }
    }

    private static class removeSpecNimbus_resultTupleScheme extends TupleScheme<removeSpecNimbus_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeSpecNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeSpecNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class addSupervisors_args implements org.apache.thrift.TBase<addSupervisors_args, addSupervisors_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSupervisors_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSupervisors_args");

    private static final org.apache.thrift.protocol.TField NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("number", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField CONTAINER_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("container_memory", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField CONTAINER_VCORECOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("container_vcorecount", org.apache.thrift.protocol.TType.I32, (short)3);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new addSupervisors_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new addSupervisors_argsTupleSchemeFactory());
    }

    public int number; // required
    public int container_memory; // required
    public int container_vcorecount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NUMBER((short)1, "number"),
      CONTAINER_MEMORY((short)2, "container_memory"),
      CONTAINER_VCORECOUNT((short)3, "container_vcorecount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NUMBER
            return NUMBER;
          case 2: // CONTAINER_MEMORY
            return CONTAINER_MEMORY;
          case 3: // CONTAINER_VCORECOUNT
            return CONTAINER_VCORECOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __NUMBER_ISSET_ID = 0;
    private static final int __CONTAINER_MEMORY_ISSET_ID = 1;
    private static final int __CONTAINER_VCORECOUNT_ISSET_ID = 2;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NUMBER, new org.apache.thrift.meta_data.FieldMetaData("number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("container_memory", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_VCORECOUNT, new org.apache.thrift.meta_data.FieldMetaData("container_vcorecount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSupervisors_args.class, metaDataMap);
    }

    public addSupervisors_args() {
    }

    public addSupervisors_args(
      int number,
      int container_memory,
      int container_vcorecount)
    {
      this();
      this.number = number;
      setNumberIsSet(true);
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSupervisors_args(addSupervisors_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.number = other.number;
      this.container_memory = other.container_memory;
      this.container_vcorecount = other.container_vcorecount;
    }

    public addSupervisors_args deepCopy() {
      return new addSupervisors_args(this);
    }

    @Override
    public void clear() {
      setNumberIsSet(false);
      this.number = 0;
      setContainer_memoryIsSet(false);
      this.container_memory = 0;
      setContainer_vcorecountIsSet(false);
      this.container_vcorecount = 0;
    }

    public int getNumber() {
      return this.number;
    }

    public addSupervisors_args setNumber(int number) {
      this.number = number;
      setNumberIsSet(true);
      return this;
    }

    public void unsetNumber() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    /** Returns true if field number is set (has been assigned a value) and false otherwise */
    public boolean isSetNumber() {
      return EncodingUtils.testBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    public void setNumberIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBER_ISSET_ID, value);
    }

    public int getContainer_memory() {
      return this.container_memory;
    }

    public addSupervisors_args setContainer_memory(int container_memory) {
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      return this;
    }

    public void unsetContainer_memory() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    /** Returns true if field container_memory is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_memory() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    public void setContainer_memoryIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID, value);
    }

    public int getContainer_vcorecount() {
      return this.container_vcorecount;
    }

    public addSupervisors_args setContainer_vcorecount(int container_vcorecount) {
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
      return this;
    }

    public void unsetContainer_vcorecount() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    /** Returns true if field container_vcorecount is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_vcorecount() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    public void setContainer_vcorecountIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case NUMBER:
        if (value == null) {
          unsetNumber();
        } else {
          setNumber((Integer)value);
        }
        break;

      case CONTAINER_MEMORY:
        if (value == null) {
          unsetContainer_memory();
        } else {
          setContainer_memory((Integer)value);
        }
        break;

      case CONTAINER_VCORECOUNT:
        if (value == null) {
          unsetContainer_vcorecount();
        } else {
          setContainer_vcorecount((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case NUMBER:
        return Integer.valueOf(getNumber());

      case CONTAINER_MEMORY:
        return Integer.valueOf(getContainer_memory());

      case CONTAINER_VCORECOUNT:
        return Integer.valueOf(getContainer_vcorecount());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case NUMBER:
        return isSetNumber();
      case CONTAINER_MEMORY:
        return isSetContainer_memory();
      case CONTAINER_VCORECOUNT:
        return isSetContainer_vcorecount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSupervisors_args)
        return this.equals((addSupervisors_args)that);
      return false;
    }

    public boolean equals(addSupervisors_args that) {
      if (that == null)
        return false;

      boolean this_present_number = true;
      boolean that_present_number = true;
      if (this_present_number || that_present_number) {
        if (!(this_present_number && that_present_number))
          return false;
        if (this.number != that.number)
          return false;
      }

      boolean this_present_container_memory = true;
      boolean that_present_container_memory = true;
      if (this_present_container_memory || that_present_container_memory) {
        if (!(this_present_container_memory && that_present_container_memory))
          return false;
        if (this.container_memory != that.container_memory)
          return false;
      }

      boolean this_present_container_vcorecount = true;
      boolean that_present_container_vcorecount = true;
      if (this_present_container_vcorecount || that_present_container_vcorecount) {
        if (!(this_present_container_vcorecount && that_present_container_vcorecount))
          return false;
        if (this.container_vcorecount != that.container_vcorecount)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_number = true;
      list.add(present_number);
      if (present_number)
        list.add(number);

      boolean present_container_memory = true;
      list.add(present_container_memory);
      if (present_container_memory)
        list.add(container_memory);

      boolean present_container_vcorecount = true;
      list.add(present_container_vcorecount);
      if (present_container_vcorecount)
        list.add(container_vcorecount);

      return list.hashCode();
    }

    @Override
    public int compareTo(addSupervisors_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetNumber()).compareTo(other.isSetNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.number, other.number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_memory()).compareTo(other.isSetContainer_memory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_memory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_memory, other.container_memory);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_vcorecount()).compareTo(other.isSetContainer_vcorecount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_vcorecount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_vcorecount, other.container_vcorecount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSupervisors_args(");
      boolean first = true;

      sb.append("number:");
      sb.append(this.number);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_memory:");
      sb.append(this.container_memory);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_vcorecount:");
      sb.append(this.container_vcorecount);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class addSupervisors_argsStandardSchemeFactory implements SchemeFactory {
      public addSupervisors_argsStandardScheme getScheme() {
        return new addSupervisors_argsStandardScheme();
      }
    }

    private static class addSupervisors_argsStandardScheme extends StandardScheme<addSupervisors_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, addSupervisors_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NUMBER
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.number = iprot.readI32();
                struct.setNumberIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CONTAINER_MEMORY
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_memory = iprot.readI32();
                struct.setContainer_memoryIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // CONTAINER_VCORECOUNT
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_vcorecount = iprot.readI32();
                struct.setContainer_vcorecountIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, addSupervisors_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(NUMBER_FIELD_DESC);
        oprot.writeI32(struct.number);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_MEMORY_FIELD_DESC);
        oprot.writeI32(struct.container_memory);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_VCORECOUNT_FIELD_DESC);
        oprot.writeI32(struct.container_vcorecount);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class addSupervisors_argsTupleSchemeFactory implements SchemeFactory {
      public addSupervisors_argsTupleScheme getScheme() {
        return new addSupervisors_argsTupleScheme();
      }
    }

    private static class addSupervisors_argsTupleScheme extends TupleScheme<addSupervisors_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, addSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetNumber()) {
          optionals.set(0);
        }
        if (struct.isSetContainer_memory()) {
          optionals.set(1);
        }
        if (struct.isSetContainer_vcorecount()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetNumber()) {
          oprot.writeI32(struct.number);
        }
        if (struct.isSetContainer_memory()) {
          oprot.writeI32(struct.container_memory);
        }
        if (struct.isSetContainer_vcorecount()) {
          oprot.writeI32(struct.container_vcorecount);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, addSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.number = iprot.readI32();
          struct.setNumberIsSet(true);
        }
        if (incoming.get(1)) {
          struct.container_memory = iprot.readI32();
          struct.setContainer_memoryIsSet(true);
        }
        if (incoming.get(2)) {
          struct.container_vcorecount = iprot.readI32();
          struct.setContainer_vcorecountIsSet(true);
        }
      }
    }

  }

  public static class addSupervisors_result implements org.apache.thrift.TBase<addSupervisors_result, addSupervisors_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSupervisors_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSupervisors_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new addSupervisors_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new addSupervisors_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSupervisors_result.class, metaDataMap);
    }

    public addSupervisors_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSupervisors_result(addSupervisors_result other) {
    }

    public addSupervisors_result deepCopy() {
      return new addSupervisors_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSupervisors_result)
        return this.equals((addSupervisors_result)that);
      return false;
    }

    public boolean equals(addSupervisors_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(addSupervisors_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSupervisors_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class addSupervisors_resultStandardSchemeFactory implements SchemeFactory {
      public addSupervisors_resultStandardScheme getScheme() {
        return new addSupervisors_resultStandardScheme();
      }
    }

    private static class addSupervisors_resultStandardScheme extends StandardScheme<addSupervisors_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, addSupervisors_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, addSupervisors_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class addSupervisors_resultTupleSchemeFactory implements SchemeFactory {
      public addSupervisors_resultTupleScheme getScheme() {
        return new addSupervisors_resultTupleScheme();
      }
    }

    private static class addSupervisors_resultTupleScheme extends TupleScheme<addSupervisors_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, addSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, addSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class addSpecSupervisor_args implements org.apache.thrift.TBase<addSpecSupervisor_args, addSpecSupervisor_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSpecSupervisor_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSpecSupervisor_args");

    private static final org.apache.thrift.protocol.TField NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("number", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField CONTAINER_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("container_memory", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField CONTAINER_VCORECOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("container_vcorecount", org.apache.thrift.protocol.TType.I32, (short)3);
    private static final org.apache.thrift.protocol.TField RACKS_FIELD_DESC = new org.apache.thrift.protocol.TField("racks", org.apache.thrift.protocol.TType.LIST, (short)4);
    private static final org.apache.thrift.protocol.TField HOSTS_FIELD_DESC = new org.apache.thrift.protocol.TField("hosts", org.apache.thrift.protocol.TType.LIST, (short)5);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new addSpecSupervisor_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new addSpecSupervisor_argsTupleSchemeFactory());
    }

    public int number; // required
    public int container_memory; // required
    public int container_vcorecount; // required
    public List<String> racks; // required
    public List<String> hosts; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NUMBER((short)1, "number"),
      CONTAINER_MEMORY((short)2, "container_memory"),
      CONTAINER_VCORECOUNT((short)3, "container_vcorecount"),
      RACKS((short)4, "racks"),
      HOSTS((short)5, "hosts");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NUMBER
            return NUMBER;
          case 2: // CONTAINER_MEMORY
            return CONTAINER_MEMORY;
          case 3: // CONTAINER_VCORECOUNT
            return CONTAINER_VCORECOUNT;
          case 4: // RACKS
            return RACKS;
          case 5: // HOSTS
            return HOSTS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __NUMBER_ISSET_ID = 0;
    private static final int __CONTAINER_MEMORY_ISSET_ID = 1;
    private static final int __CONTAINER_VCORECOUNT_ISSET_ID = 2;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NUMBER, new org.apache.thrift.meta_data.FieldMetaData("number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("container_memory", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_VCORECOUNT, new org.apache.thrift.meta_data.FieldMetaData("container_vcorecount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.RACKS, new org.apache.thrift.meta_data.FieldMetaData("racks", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.HOSTS, new org.apache.thrift.meta_data.FieldMetaData("hosts", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSpecSupervisor_args.class, metaDataMap);
    }

    public addSpecSupervisor_args() {
    }

    public addSpecSupervisor_args(
      int number,
      int container_memory,
      int container_vcorecount,
      List<String> racks,
      List<String> hosts)
    {
      this();
      this.number = number;
      setNumberIsSet(true);
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
      this.racks = racks;
      this.hosts = hosts;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSpecSupervisor_args(addSpecSupervisor_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.number = other.number;
      this.container_memory = other.container_memory;
      this.container_vcorecount = other.container_vcorecount;
      if (other.isSetRacks()) {
        List<String> __this__racks = new ArrayList<String>(other.racks);
        this.racks = __this__racks;
      }
      if (other.isSetHosts()) {
        List<String> __this__hosts = new ArrayList<String>(other.hosts);
        this.hosts = __this__hosts;
      }
    }

    public addSpecSupervisor_args deepCopy() {
      return new addSpecSupervisor_args(this);
    }

    @Override
    public void clear() {
      setNumberIsSet(false);
      this.number = 0;
      setContainer_memoryIsSet(false);
      this.container_memory = 0;
      setContainer_vcorecountIsSet(false);
      this.container_vcorecount = 0;
      this.racks = null;
      this.hosts = null;
    }

    public int getNumber() {
      return this.number;
    }

    public addSpecSupervisor_args setNumber(int number) {
      this.number = number;
      setNumberIsSet(true);
      return this;
    }

    public void unsetNumber() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    /** Returns true if field number is set (has been assigned a value) and false otherwise */
    public boolean isSetNumber() {
      return EncodingUtils.testBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    public void setNumberIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBER_ISSET_ID, value);
    }

    public int getContainer_memory() {
      return this.container_memory;
    }

    public addSpecSupervisor_args setContainer_memory(int container_memory) {
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      return this;
    }

    public void unsetContainer_memory() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    /** Returns true if field container_memory is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_memory() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    public void setContainer_memoryIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID, value);
    }

    public int getContainer_vcorecount() {
      return this.container_vcorecount;
    }

    public addSpecSupervisor_args setContainer_vcorecount(int container_vcorecount) {
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
      return this;
    }

    public void unsetContainer_vcorecount() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    /** Returns true if field container_vcorecount is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_vcorecount() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    public void setContainer_vcorecountIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID, value);
    }

    public int getRacksSize() {
      return (this.racks == null) ? 0 : this.racks.size();
    }

    public java.util.Iterator<String> getRacksIterator() {
      return (this.racks == null) ? null : this.racks.iterator();
    }

    public void addToRacks(String elem) {
      if (this.racks == null) {
        this.racks = new ArrayList<String>();
      }
      this.racks.add(elem);
    }

    public List<String> getRacks() {
      return this.racks;
    }

    public addSpecSupervisor_args setRacks(List<String> racks) {
      this.racks = racks;
      return this;
    }

    public void unsetRacks() {
      this.racks = null;
    }

    /** Returns true if field racks is set (has been assigned a value) and false otherwise */
    public boolean isSetRacks() {
      return this.racks != null;
    }

    public void setRacksIsSet(boolean value) {
      if (!value) {
        this.racks = null;
      }
    }

    public int getHostsSize() {
      return (this.hosts == null) ? 0 : this.hosts.size();
    }

    public java.util.Iterator<String> getHostsIterator() {
      return (this.hosts == null) ? null : this.hosts.iterator();
    }

    public void addToHosts(String elem) {
      if (this.hosts == null) {
        this.hosts = new ArrayList<String>();
      }
      this.hosts.add(elem);
    }

    public List<String> getHosts() {
      return this.hosts;
    }

    public addSpecSupervisor_args setHosts(List<String> hosts) {
      this.hosts = hosts;
      return this;
    }

    public void unsetHosts() {
      this.hosts = null;
    }

    /** Returns true if field hosts is set (has been assigned a value) and false otherwise */
    public boolean isSetHosts() {
      return this.hosts != null;
    }

    public void setHostsIsSet(boolean value) {
      if (!value) {
        this.hosts = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case NUMBER:
        if (value == null) {
          unsetNumber();
        } else {
          setNumber((Integer)value);
        }
        break;

      case CONTAINER_MEMORY:
        if (value == null) {
          unsetContainer_memory();
        } else {
          setContainer_memory((Integer)value);
        }
        break;

      case CONTAINER_VCORECOUNT:
        if (value == null) {
          unsetContainer_vcorecount();
        } else {
          setContainer_vcorecount((Integer)value);
        }
        break;

      case RACKS:
        if (value == null) {
          unsetRacks();
        } else {
          setRacks((List<String>)value);
        }
        break;

      case HOSTS:
        if (value == null) {
          unsetHosts();
        } else {
          setHosts((List<String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case NUMBER:
        return Integer.valueOf(getNumber());

      case CONTAINER_MEMORY:
        return Integer.valueOf(getContainer_memory());

      case CONTAINER_VCORECOUNT:
        return Integer.valueOf(getContainer_vcorecount());

      case RACKS:
        return getRacks();

      case HOSTS:
        return getHosts();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case NUMBER:
        return isSetNumber();
      case CONTAINER_MEMORY:
        return isSetContainer_memory();
      case CONTAINER_VCORECOUNT:
        return isSetContainer_vcorecount();
      case RACKS:
        return isSetRacks();
      case HOSTS:
        return isSetHosts();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSpecSupervisor_args)
        return this.equals((addSpecSupervisor_args)that);
      return false;
    }

    public boolean equals(addSpecSupervisor_args that) {
      if (that == null)
        return false;

      boolean this_present_number = true;
      boolean that_present_number = true;
      if (this_present_number || that_present_number) {
        if (!(this_present_number && that_present_number))
          return false;
        if (this.number != that.number)
          return false;
      }

      boolean this_present_container_memory = true;
      boolean that_present_container_memory = true;
      if (this_present_container_memory || that_present_container_memory) {
        if (!(this_present_container_memory && that_present_container_memory))
          return false;
        if (this.container_memory != that.container_memory)
          return false;
      }

      boolean this_present_container_vcorecount = true;
      boolean that_present_container_vcorecount = true;
      if (this_present_container_vcorecount || that_present_container_vcorecount) {
        if (!(this_present_container_vcorecount && that_present_container_vcorecount))
          return false;
        if (this.container_vcorecount != that.container_vcorecount)
          return false;
      }

      boolean this_present_racks = true && this.isSetRacks();
      boolean that_present_racks = true && that.isSetRacks();
      if (this_present_racks || that_present_racks) {
        if (!(this_present_racks && that_present_racks))
          return false;
        if (!this.racks.equals(that.racks))
          return false;
      }

      boolean this_present_hosts = true && this.isSetHosts();
      boolean that_present_hosts = true && that.isSetHosts();
      if (this_present_hosts || that_present_hosts) {
        if (!(this_present_hosts && that_present_hosts))
          return false;
        if (!this.hosts.equals(that.hosts))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_number = true;
      list.add(present_number);
      if (present_number)
        list.add(number);

      boolean present_container_memory = true;
      list.add(present_container_memory);
      if (present_container_memory)
        list.add(container_memory);

      boolean present_container_vcorecount = true;
      list.add(present_container_vcorecount);
      if (present_container_vcorecount)
        list.add(container_vcorecount);

      boolean present_racks = true && (isSetRacks());
      list.add(present_racks);
      if (present_racks)
        list.add(racks);

      boolean present_hosts = true && (isSetHosts());
      list.add(present_hosts);
      if (present_hosts)
        list.add(hosts);

      return list.hashCode();
    }

    @Override
    public int compareTo(addSpecSupervisor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetNumber()).compareTo(other.isSetNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.number, other.number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_memory()).compareTo(other.isSetContainer_memory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_memory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_memory, other.container_memory);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_vcorecount()).compareTo(other.isSetContainer_vcorecount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_vcorecount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_vcorecount, other.container_vcorecount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetRacks()).compareTo(other.isSetRacks());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRacks()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.racks, other.racks);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetHosts()).compareTo(other.isSetHosts());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetHosts()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hosts, other.hosts);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSpecSupervisor_args(");
      boolean first = true;

      sb.append("number:");
      sb.append(this.number);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_memory:");
      sb.append(this.container_memory);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_vcorecount:");
      sb.append(this.container_vcorecount);
      first = false;
      if (!first) sb.append(", ");
      sb.append("racks:");
      if (this.racks == null) {
        sb.append("null");
      } else {
        sb.append(this.racks);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("hosts:");
      if (this.hosts == null) {
        sb.append("null");
      } else {
        sb.append(this.hosts);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class addSpecSupervisor_argsStandardSchemeFactory implements SchemeFactory {
      public addSpecSupervisor_argsStandardScheme getScheme() {
        return new addSpecSupervisor_argsStandardScheme();
      }
    }

    private static class addSpecSupervisor_argsStandardScheme extends StandardScheme<addSpecSupervisor_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, addSpecSupervisor_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NUMBER
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.number = iprot.readI32();
                struct.setNumberIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CONTAINER_MEMORY
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_memory = iprot.readI32();
                struct.setContainer_memoryIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // CONTAINER_VCORECOUNT
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_vcorecount = iprot.readI32();
                struct.setContainer_vcorecountIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // RACKS
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                  struct.racks = new ArrayList<String>(_list0.size);
                  String _elem1;
                  for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                  {
                    _elem1 = iprot.readString();
                    struct.racks.add(_elem1);
                  }
                  iprot.readListEnd();
                }
                struct.setRacksIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 5: // HOSTS
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                  struct.hosts = new ArrayList<String>(_list3.size);
                  String _elem4;
                  for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                  {
                    _elem4 = iprot.readString();
                    struct.hosts.add(_elem4);
                  }
                  iprot.readListEnd();
                }
                struct.setHostsIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, addSpecSupervisor_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(NUMBER_FIELD_DESC);
        oprot.writeI32(struct.number);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_MEMORY_FIELD_DESC);
        oprot.writeI32(struct.container_memory);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_VCORECOUNT_FIELD_DESC);
        oprot.writeI32(struct.container_vcorecount);
        oprot.writeFieldEnd();
        if (struct.racks != null) {
          oprot.writeFieldBegin(RACKS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.racks.size()));
            for (String _iter6 : struct.racks)
            {
              oprot.writeString(_iter6);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.hosts != null) {
          oprot.writeFieldBegin(HOSTS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.hosts.size()));
            for (String _iter7 : struct.hosts)
            {
              oprot.writeString(_iter7);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class addSpecSupervisor_argsTupleSchemeFactory implements SchemeFactory {
      public addSpecSupervisor_argsTupleScheme getScheme() {
        return new addSpecSupervisor_argsTupleScheme();
      }
    }

    private static class addSpecSupervisor_argsTupleScheme extends TupleScheme<addSpecSupervisor_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, addSpecSupervisor_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetNumber()) {
          optionals.set(0);
        }
        if (struct.isSetContainer_memory()) {
          optionals.set(1);
        }
        if (struct.isSetContainer_vcorecount()) {
          optionals.set(2);
        }
        if (struct.isSetRacks()) {
          optionals.set(3);
        }
        if (struct.isSetHosts()) {
          optionals.set(4);
        }
        oprot.writeBitSet(optionals, 5);
        if (struct.isSetNumber()) {
          oprot.writeI32(struct.number);
        }
        if (struct.isSetContainer_memory()) {
          oprot.writeI32(struct.container_memory);
        }
        if (struct.isSetContainer_vcorecount()) {
          oprot.writeI32(struct.container_vcorecount);
        }
        if (struct.isSetRacks()) {
          {
            oprot.writeI32(struct.racks.size());
            for (String _iter8 : struct.racks)
            {
              oprot.writeString(_iter8);
            }
          }
        }
        if (struct.isSetHosts()) {
          {
            oprot.writeI32(struct.hosts.size());
            for (String _iter9 : struct.hosts)
            {
              oprot.writeString(_iter9);
            }
          }
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, addSpecSupervisor_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(5);
        if (incoming.get(0)) {
          struct.number = iprot.readI32();
          struct.setNumberIsSet(true);
        }
        if (incoming.get(1)) {
          struct.container_memory = iprot.readI32();
          struct.setContainer_memoryIsSet(true);
        }
        if (incoming.get(2)) {
          struct.container_vcorecount = iprot.readI32();
          struct.setContainer_vcorecountIsSet(true);
        }
        if (incoming.get(3)) {
          {
            org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
            struct.racks = new ArrayList<String>(_list10.size);
            String _elem11;
            for (int _i12 = 0; _i12 < _list10.size; ++_i12)
            {
              _elem11 = iprot.readString();
              struct.racks.add(_elem11);
            }
          }
          struct.setRacksIsSet(true);
        }
        if (incoming.get(4)) {
          {
            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
            struct.hosts = new ArrayList<String>(_list13.size);
            String _elem14;
            for (int _i15 = 0; _i15 < _list13.size; ++_i15)
            {
              _elem14 = iprot.readString();
              struct.hosts.add(_elem14);
            }
          }
          struct.setHostsIsSet(true);
        }
      }
    }

  }

  public static class addSpecSupervisor_result implements org.apache.thrift.TBase<addSpecSupervisor_result, addSpecSupervisor_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSpecSupervisor_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSpecSupervisor_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new addSpecSupervisor_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new addSpecSupervisor_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSpecSupervisor_result.class, metaDataMap);
    }

    public addSpecSupervisor_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSpecSupervisor_result(addSpecSupervisor_result other) {
    }

    public addSpecSupervisor_result deepCopy() {
      return new addSpecSupervisor_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSpecSupervisor_result)
        return this.equals((addSpecSupervisor_result)that);
      return false;
    }

    public boolean equals(addSpecSupervisor_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(addSpecSupervisor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSpecSupervisor_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class addSpecSupervisor_resultStandardSchemeFactory implements SchemeFactory {
      public addSpecSupervisor_resultStandardScheme getScheme() {
        return new addSpecSupervisor_resultStandardScheme();
      }
    }

    private static class addSpecSupervisor_resultStandardScheme extends StandardScheme<addSpecSupervisor_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, addSpecSupervisor_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, addSpecSupervisor_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class addSpecSupervisor_resultTupleSchemeFactory implements SchemeFactory {
      public addSpecSupervisor_resultTupleScheme getScheme() {
        return new addSpecSupervisor_resultTupleScheme();
      }
    }

    private static class addSpecSupervisor_resultTupleScheme extends TupleScheme<addSpecSupervisor_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, addSpecSupervisor_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, addSpecSupervisor_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class startSpecNimbus_args implements org.apache.thrift.TBase<startSpecNimbus_args, startSpecNimbus_args._Fields>, java.io.Serializable, Cloneable, Comparable<startSpecNimbus_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startSpecNimbus_args");

    private static final org.apache.thrift.protocol.TField NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("number", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField CONTAINER_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("container_memory", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField CONTAINER_VCORECOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("container_vcorecount", org.apache.thrift.protocol.TType.I32, (short)3);
    private static final org.apache.thrift.protocol.TField RACKS_FIELD_DESC = new org.apache.thrift.protocol.TField("racks", org.apache.thrift.protocol.TType.LIST, (short)4);
    private static final org.apache.thrift.protocol.TField HOSTS_FIELD_DESC = new org.apache.thrift.protocol.TField("hosts", org.apache.thrift.protocol.TType.LIST, (short)5);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startSpecNimbus_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startSpecNimbus_argsTupleSchemeFactory());
    }

    public int number; // required
    public int container_memory; // required
    public int container_vcorecount; // required
    public List<String> racks; // required
    public List<String> hosts; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NUMBER((short)1, "number"),
      CONTAINER_MEMORY((short)2, "container_memory"),
      CONTAINER_VCORECOUNT((short)3, "container_vcorecount"),
      RACKS((short)4, "racks"),
      HOSTS((short)5, "hosts");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NUMBER
            return NUMBER;
          case 2: // CONTAINER_MEMORY
            return CONTAINER_MEMORY;
          case 3: // CONTAINER_VCORECOUNT
            return CONTAINER_VCORECOUNT;
          case 4: // RACKS
            return RACKS;
          case 5: // HOSTS
            return HOSTS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __NUMBER_ISSET_ID = 0;
    private static final int __CONTAINER_MEMORY_ISSET_ID = 1;
    private static final int __CONTAINER_VCORECOUNT_ISSET_ID = 2;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NUMBER, new org.apache.thrift.meta_data.FieldMetaData("number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("container_memory", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.CONTAINER_VCORECOUNT, new org.apache.thrift.meta_data.FieldMetaData("container_vcorecount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.RACKS, new org.apache.thrift.meta_data.FieldMetaData("racks", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.HOSTS, new org.apache.thrift.meta_data.FieldMetaData("hosts", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startSpecNimbus_args.class, metaDataMap);
    }

    public startSpecNimbus_args() {
    }

    public startSpecNimbus_args(
      int number,
      int container_memory,
      int container_vcorecount,
      List<String> racks,
      List<String> hosts)
    {
      this();
      this.number = number;
      setNumberIsSet(true);
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
      this.racks = racks;
      this.hosts = hosts;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startSpecNimbus_args(startSpecNimbus_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.number = other.number;
      this.container_memory = other.container_memory;
      this.container_vcorecount = other.container_vcorecount;
      if (other.isSetRacks()) {
        List<String> __this__racks = new ArrayList<String>(other.racks);
        this.racks = __this__racks;
      }
      if (other.isSetHosts()) {
        List<String> __this__hosts = new ArrayList<String>(other.hosts);
        this.hosts = __this__hosts;
      }
    }

    public startSpecNimbus_args deepCopy() {
      return new startSpecNimbus_args(this);
    }

    @Override
    public void clear() {
      setNumberIsSet(false);
      this.number = 0;
      setContainer_memoryIsSet(false);
      this.container_memory = 0;
      setContainer_vcorecountIsSet(false);
      this.container_vcorecount = 0;
      this.racks = null;
      this.hosts = null;
    }

    public int getNumber() {
      return this.number;
    }

    public startSpecNimbus_args setNumber(int number) {
      this.number = number;
      setNumberIsSet(true);
      return this;
    }

    public void unsetNumber() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    /** Returns true if field number is set (has been assigned a value) and false otherwise */
    public boolean isSetNumber() {
      return EncodingUtils.testBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    public void setNumberIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBER_ISSET_ID, value);
    }

    public int getContainer_memory() {
      return this.container_memory;
    }

    public startSpecNimbus_args setContainer_memory(int container_memory) {
      this.container_memory = container_memory;
      setContainer_memoryIsSet(true);
      return this;
    }

    public void unsetContainer_memory() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    /** Returns true if field container_memory is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_memory() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID);
    }

    public void setContainer_memoryIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_MEMORY_ISSET_ID, value);
    }

    public int getContainer_vcorecount() {
      return this.container_vcorecount;
    }

    public startSpecNimbus_args setContainer_vcorecount(int container_vcorecount) {
      this.container_vcorecount = container_vcorecount;
      setContainer_vcorecountIsSet(true);
      return this;
    }

    public void unsetContainer_vcorecount() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    /** Returns true if field container_vcorecount is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_vcorecount() {
      return EncodingUtils.testBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID);
    }

    public void setContainer_vcorecountIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CONTAINER_VCORECOUNT_ISSET_ID, value);
    }

    public int getRacksSize() {
      return (this.racks == null) ? 0 : this.racks.size();
    }

    public java.util.Iterator<String> getRacksIterator() {
      return (this.racks == null) ? null : this.racks.iterator();
    }

    public void addToRacks(String elem) {
      if (this.racks == null) {
        this.racks = new ArrayList<String>();
      }
      this.racks.add(elem);
    }

    public List<String> getRacks() {
      return this.racks;
    }

    public startSpecNimbus_args setRacks(List<String> racks) {
      this.racks = racks;
      return this;
    }

    public void unsetRacks() {
      this.racks = null;
    }

    /** Returns true if field racks is set (has been assigned a value) and false otherwise */
    public boolean isSetRacks() {
      return this.racks != null;
    }

    public void setRacksIsSet(boolean value) {
      if (!value) {
        this.racks = null;
      }
    }

    public int getHostsSize() {
      return (this.hosts == null) ? 0 : this.hosts.size();
    }

    public java.util.Iterator<String> getHostsIterator() {
      return (this.hosts == null) ? null : this.hosts.iterator();
    }

    public void addToHosts(String elem) {
      if (this.hosts == null) {
        this.hosts = new ArrayList<String>();
      }
      this.hosts.add(elem);
    }

    public List<String> getHosts() {
      return this.hosts;
    }

    public startSpecNimbus_args setHosts(List<String> hosts) {
      this.hosts = hosts;
      return this;
    }

    public void unsetHosts() {
      this.hosts = null;
    }

    /** Returns true if field hosts is set (has been assigned a value) and false otherwise */
    public boolean isSetHosts() {
      return this.hosts != null;
    }

    public void setHostsIsSet(boolean value) {
      if (!value) {
        this.hosts = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case NUMBER:
        if (value == null) {
          unsetNumber();
        } else {
          setNumber((Integer)value);
        }
        break;

      case CONTAINER_MEMORY:
        if (value == null) {
          unsetContainer_memory();
        } else {
          setContainer_memory((Integer)value);
        }
        break;

      case CONTAINER_VCORECOUNT:
        if (value == null) {
          unsetContainer_vcorecount();
        } else {
          setContainer_vcorecount((Integer)value);
        }
        break;

      case RACKS:
        if (value == null) {
          unsetRacks();
        } else {
          setRacks((List<String>)value);
        }
        break;

      case HOSTS:
        if (value == null) {
          unsetHosts();
        } else {
          setHosts((List<String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case NUMBER:
        return Integer.valueOf(getNumber());

      case CONTAINER_MEMORY:
        return Integer.valueOf(getContainer_memory());

      case CONTAINER_VCORECOUNT:
        return Integer.valueOf(getContainer_vcorecount());

      case RACKS:
        return getRacks();

      case HOSTS:
        return getHosts();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case NUMBER:
        return isSetNumber();
      case CONTAINER_MEMORY:
        return isSetContainer_memory();
      case CONTAINER_VCORECOUNT:
        return isSetContainer_vcorecount();
      case RACKS:
        return isSetRacks();
      case HOSTS:
        return isSetHosts();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startSpecNimbus_args)
        return this.equals((startSpecNimbus_args)that);
      return false;
    }

    public boolean equals(startSpecNimbus_args that) {
      if (that == null)
        return false;

      boolean this_present_number = true;
      boolean that_present_number = true;
      if (this_present_number || that_present_number) {
        if (!(this_present_number && that_present_number))
          return false;
        if (this.number != that.number)
          return false;
      }

      boolean this_present_container_memory = true;
      boolean that_present_container_memory = true;
      if (this_present_container_memory || that_present_container_memory) {
        if (!(this_present_container_memory && that_present_container_memory))
          return false;
        if (this.container_memory != that.container_memory)
          return false;
      }

      boolean this_present_container_vcorecount = true;
      boolean that_present_container_vcorecount = true;
      if (this_present_container_vcorecount || that_present_container_vcorecount) {
        if (!(this_present_container_vcorecount && that_present_container_vcorecount))
          return false;
        if (this.container_vcorecount != that.container_vcorecount)
          return false;
      }

      boolean this_present_racks = true && this.isSetRacks();
      boolean that_present_racks = true && that.isSetRacks();
      if (this_present_racks || that_present_racks) {
        if (!(this_present_racks && that_present_racks))
          return false;
        if (!this.racks.equals(that.racks))
          return false;
      }

      boolean this_present_hosts = true && this.isSetHosts();
      boolean that_present_hosts = true && that.isSetHosts();
      if (this_present_hosts || that_present_hosts) {
        if (!(this_present_hosts && that_present_hosts))
          return false;
        if (!this.hosts.equals(that.hosts))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_number = true;
      list.add(present_number);
      if (present_number)
        list.add(number);

      boolean present_container_memory = true;
      list.add(present_container_memory);
      if (present_container_memory)
        list.add(container_memory);

      boolean present_container_vcorecount = true;
      list.add(present_container_vcorecount);
      if (present_container_vcorecount)
        list.add(container_vcorecount);

      boolean present_racks = true && (isSetRacks());
      list.add(present_racks);
      if (present_racks)
        list.add(racks);

      boolean present_hosts = true && (isSetHosts());
      list.add(present_hosts);
      if (present_hosts)
        list.add(hosts);

      return list.hashCode();
    }

    @Override
    public int compareTo(startSpecNimbus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetNumber()).compareTo(other.isSetNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.number, other.number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_memory()).compareTo(other.isSetContainer_memory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_memory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_memory, other.container_memory);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetContainer_vcorecount()).compareTo(other.isSetContainer_vcorecount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_vcorecount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_vcorecount, other.container_vcorecount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetRacks()).compareTo(other.isSetRacks());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRacks()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.racks, other.racks);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetHosts()).compareTo(other.isSetHosts());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetHosts()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hosts, other.hosts);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startSpecNimbus_args(");
      boolean first = true;

      sb.append("number:");
      sb.append(this.number);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_memory:");
      sb.append(this.container_memory);
      first = false;
      if (!first) sb.append(", ");
      sb.append("container_vcorecount:");
      sb.append(this.container_vcorecount);
      first = false;
      if (!first) sb.append(", ");
      sb.append("racks:");
      if (this.racks == null) {
        sb.append("null");
      } else {
        sb.append(this.racks);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("hosts:");
      if (this.hosts == null) {
        sb.append("null");
      } else {
        sb.append(this.hosts);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startSpecNimbus_argsStandardSchemeFactory implements SchemeFactory {
      public startSpecNimbus_argsStandardScheme getScheme() {
        return new startSpecNimbus_argsStandardScheme();
      }
    }

    private static class startSpecNimbus_argsStandardScheme extends StandardScheme<startSpecNimbus_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startSpecNimbus_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NUMBER
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.number = iprot.readI32();
                struct.setNumberIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CONTAINER_MEMORY
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_memory = iprot.readI32();
                struct.setContainer_memoryIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // CONTAINER_VCORECOUNT
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.container_vcorecount = iprot.readI32();
                struct.setContainer_vcorecountIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // RACKS
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                  struct.racks = new ArrayList<String>(_list16.size);
                  String _elem17;
                  for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                  {
                    _elem17 = iprot.readString();
                    struct.racks.add(_elem17);
                  }
                  iprot.readListEnd();
                }
                struct.setRacksIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 5: // HOSTS
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list19 = iprot.readListBegin();
                  struct.hosts = new ArrayList<String>(_list19.size);
                  String _elem20;
                  for (int _i21 = 0; _i21 < _list19.size; ++_i21)
                  {
                    _elem20 = iprot.readString();
                    struct.hosts.add(_elem20);
                  }
                  iprot.readListEnd();
                }
                struct.setHostsIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startSpecNimbus_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(NUMBER_FIELD_DESC);
        oprot.writeI32(struct.number);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_MEMORY_FIELD_DESC);
        oprot.writeI32(struct.container_memory);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(CONTAINER_VCORECOUNT_FIELD_DESC);
        oprot.writeI32(struct.container_vcorecount);
        oprot.writeFieldEnd();
        if (struct.racks != null) {
          oprot.writeFieldBegin(RACKS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.racks.size()));
            for (String _iter22 : struct.racks)
            {
              oprot.writeString(_iter22);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.hosts != null) {
          oprot.writeFieldBegin(HOSTS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.hosts.size()));
            for (String _iter23 : struct.hosts)
            {
              oprot.writeString(_iter23);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startSpecNimbus_argsTupleSchemeFactory implements SchemeFactory {
      public startSpecNimbus_argsTupleScheme getScheme() {
        return new startSpecNimbus_argsTupleScheme();
      }
    }

    private static class startSpecNimbus_argsTupleScheme extends TupleScheme<startSpecNimbus_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startSpecNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetNumber()) {
          optionals.set(0);
        }
        if (struct.isSetContainer_memory()) {
          optionals.set(1);
        }
        if (struct.isSetContainer_vcorecount()) {
          optionals.set(2);
        }
        if (struct.isSetRacks()) {
          optionals.set(3);
        }
        if (struct.isSetHosts()) {
          optionals.set(4);
        }
        oprot.writeBitSet(optionals, 5);
        if (struct.isSetNumber()) {
          oprot.writeI32(struct.number);
        }
        if (struct.isSetContainer_memory()) {
          oprot.writeI32(struct.container_memory);
        }
        if (struct.isSetContainer_vcorecount()) {
          oprot.writeI32(struct.container_vcorecount);
        }
        if (struct.isSetRacks()) {
          {
            oprot.writeI32(struct.racks.size());
            for (String _iter24 : struct.racks)
            {
              oprot.writeString(_iter24);
            }
          }
        }
        if (struct.isSetHosts()) {
          {
            oprot.writeI32(struct.hosts.size());
            for (String _iter25 : struct.hosts)
            {
              oprot.writeString(_iter25);
            }
          }
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startSpecNimbus_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(5);
        if (incoming.get(0)) {
          struct.number = iprot.readI32();
          struct.setNumberIsSet(true);
        }
        if (incoming.get(1)) {
          struct.container_memory = iprot.readI32();
          struct.setContainer_memoryIsSet(true);
        }
        if (incoming.get(2)) {
          struct.container_vcorecount = iprot.readI32();
          struct.setContainer_vcorecountIsSet(true);
        }
        if (incoming.get(3)) {
          {
            org.apache.thrift.protocol.TList _list26 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
            struct.racks = new ArrayList<String>(_list26.size);
            String _elem27;
            for (int _i28 = 0; _i28 < _list26.size; ++_i28)
            {
              _elem27 = iprot.readString();
              struct.racks.add(_elem27);
            }
          }
          struct.setRacksIsSet(true);
        }
        if (incoming.get(4)) {
          {
            org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
            struct.hosts = new ArrayList<String>(_list29.size);
            String _elem30;
            for (int _i31 = 0; _i31 < _list29.size; ++_i31)
            {
              _elem30 = iprot.readString();
              struct.hosts.add(_elem30);
            }
          }
          struct.setHostsIsSet(true);
        }
      }
    }

  }

  public static class startSpecNimbus_result implements org.apache.thrift.TBase<startSpecNimbus_result, startSpecNimbus_result._Fields>, java.io.Serializable, Cloneable, Comparable<startSpecNimbus_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startSpecNimbus_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startSpecNimbus_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startSpecNimbus_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startSpecNimbus_result.class, metaDataMap);
    }

    public startSpecNimbus_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startSpecNimbus_result(startSpecNimbus_result other) {
    }

    public startSpecNimbus_result deepCopy() {
      return new startSpecNimbus_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startSpecNimbus_result)
        return this.equals((startSpecNimbus_result)that);
      return false;
    }

    public boolean equals(startSpecNimbus_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(startSpecNimbus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startSpecNimbus_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startSpecNimbus_resultStandardSchemeFactory implements SchemeFactory {
      public startSpecNimbus_resultStandardScheme getScheme() {
        return new startSpecNimbus_resultStandardScheme();
      }
    }

    private static class startSpecNimbus_resultStandardScheme extends StandardScheme<startSpecNimbus_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startSpecNimbus_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startSpecNimbus_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startSpecNimbus_resultTupleSchemeFactory implements SchemeFactory {
      public startSpecNimbus_resultTupleScheme getScheme() {
        return new startSpecNimbus_resultTupleScheme();
      }
    }

    private static class startSpecNimbus_resultTupleScheme extends TupleScheme<startSpecNimbus_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startSpecNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startSpecNimbus_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class startSupervisors_args implements org.apache.thrift.TBase<startSupervisors_args, startSupervisors_args._Fields>, java.io.Serializable, Cloneable, Comparable<startSupervisors_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startSupervisors_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startSupervisors_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startSupervisors_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startSupervisors_args.class, metaDataMap);
    }

    public startSupervisors_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startSupervisors_args(startSupervisors_args other) {
    }

    public startSupervisors_args deepCopy() {
      return new startSupervisors_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startSupervisors_args)
        return this.equals((startSupervisors_args)that);
      return false;
    }

    public boolean equals(startSupervisors_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(startSupervisors_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startSupervisors_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startSupervisors_argsStandardSchemeFactory implements SchemeFactory {
      public startSupervisors_argsStandardScheme getScheme() {
        return new startSupervisors_argsStandardScheme();
      }
    }

    private static class startSupervisors_argsStandardScheme extends StandardScheme<startSupervisors_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startSupervisors_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startSupervisors_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startSupervisors_argsTupleSchemeFactory implements SchemeFactory {
      public startSupervisors_argsTupleScheme getScheme() {
        return new startSupervisors_argsTupleScheme();
      }
    }

    private static class startSupervisors_argsTupleScheme extends TupleScheme<startSupervisors_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class startSupervisors_result implements org.apache.thrift.TBase<startSupervisors_result, startSupervisors_result._Fields>, java.io.Serializable, Cloneable, Comparable<startSupervisors_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startSupervisors_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startSupervisors_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startSupervisors_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startSupervisors_result.class, metaDataMap);
    }

    public startSupervisors_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startSupervisors_result(startSupervisors_result other) {
    }

    public startSupervisors_result deepCopy() {
      return new startSupervisors_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startSupervisors_result)
        return this.equals((startSupervisors_result)that);
      return false;
    }

    public boolean equals(startSupervisors_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(startSupervisors_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startSupervisors_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startSupervisors_resultStandardSchemeFactory implements SchemeFactory {
      public startSupervisors_resultStandardScheme getScheme() {
        return new startSupervisors_resultStandardScheme();
      }
    }

    private static class startSupervisors_resultStandardScheme extends StandardScheme<startSupervisors_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startSupervisors_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startSupervisors_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startSupervisors_resultTupleSchemeFactory implements SchemeFactory {
      public startSupervisors_resultTupleScheme getScheme() {
        return new startSupervisors_resultTupleScheme();
      }
    }

    private static class startSupervisors_resultTupleScheme extends TupleScheme<startSupervisors_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class stopSupervisors_args implements org.apache.thrift.TBase<stopSupervisors_args, stopSupervisors_args._Fields>, java.io.Serializable, Cloneable, Comparable<stopSupervisors_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopSupervisors_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopSupervisors_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopSupervisors_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopSupervisors_args.class, metaDataMap);
    }

    public stopSupervisors_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopSupervisors_args(stopSupervisors_args other) {
    }

    public stopSupervisors_args deepCopy() {
      return new stopSupervisors_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopSupervisors_args)
        return this.equals((stopSupervisors_args)that);
      return false;
    }

    public boolean equals(stopSupervisors_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(stopSupervisors_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopSupervisors_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopSupervisors_argsStandardSchemeFactory implements SchemeFactory {
      public stopSupervisors_argsStandardScheme getScheme() {
        return new stopSupervisors_argsStandardScheme();
      }
    }

    private static class stopSupervisors_argsStandardScheme extends StandardScheme<stopSupervisors_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopSupervisors_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopSupervisors_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopSupervisors_argsTupleSchemeFactory implements SchemeFactory {
      public stopSupervisors_argsTupleScheme getScheme() {
        return new stopSupervisors_argsTupleScheme();
      }
    }

    private static class stopSupervisors_argsTupleScheme extends TupleScheme<stopSupervisors_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class stopSupervisors_result implements org.apache.thrift.TBase<stopSupervisors_result, stopSupervisors_result._Fields>, java.io.Serializable, Cloneable, Comparable<stopSupervisors_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopSupervisors_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopSupervisors_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopSupervisors_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopSupervisors_result.class, metaDataMap);
    }

    public stopSupervisors_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopSupervisors_result(stopSupervisors_result other) {
    }

    public stopSupervisors_result deepCopy() {
      return new stopSupervisors_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopSupervisors_result)
        return this.equals((stopSupervisors_result)that);
      return false;
    }

    public boolean equals(stopSupervisors_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(stopSupervisors_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopSupervisors_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopSupervisors_resultStandardSchemeFactory implements SchemeFactory {
      public stopSupervisors_resultStandardScheme getScheme() {
        return new stopSupervisors_resultStandardScheme();
      }
    }

    private static class stopSupervisors_resultStandardScheme extends StandardScheme<stopSupervisors_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopSupervisors_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopSupervisors_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopSupervisors_resultTupleSchemeFactory implements SchemeFactory {
      public stopSupervisors_resultTupleScheme getScheme() {
        return new stopSupervisors_resultTupleScheme();
      }
    }

    private static class stopSupervisors_resultTupleScheme extends TupleScheme<stopSupervisors_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class removeSupervisors_args implements org.apache.thrift.TBase<removeSupervisors_args, removeSupervisors_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeSupervisors_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeSupervisors_args");

    private static final org.apache.thrift.protocol.TField NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("number", org.apache.thrift.protocol.TType.I32, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeSupervisors_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeSupervisors_argsTupleSchemeFactory());
    }

    public int number; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NUMBER((short)1, "number");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NUMBER
            return NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __NUMBER_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NUMBER, new org.apache.thrift.meta_data.FieldMetaData("number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeSupervisors_args.class, metaDataMap);
    }

    public removeSupervisors_args() {
    }

    public removeSupervisors_args(
      int number)
    {
      this();
      this.number = number;
      setNumberIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeSupervisors_args(removeSupervisors_args other) {
      __isset_bitfield = other.__isset_bitfield;
      this.number = other.number;
    }

    public removeSupervisors_args deepCopy() {
      return new removeSupervisors_args(this);
    }

    @Override
    public void clear() {
      setNumberIsSet(false);
      this.number = 0;
    }

    public int getNumber() {
      return this.number;
    }

    public removeSupervisors_args setNumber(int number) {
      this.number = number;
      setNumberIsSet(true);
      return this;
    }

    public void unsetNumber() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    /** Returns true if field number is set (has been assigned a value) and false otherwise */
    public boolean isSetNumber() {
      return EncodingUtils.testBit(__isset_bitfield, __NUMBER_ISSET_ID);
    }

    public void setNumberIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBER_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case NUMBER:
        if (value == null) {
          unsetNumber();
        } else {
          setNumber((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case NUMBER:
        return Integer.valueOf(getNumber());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case NUMBER:
        return isSetNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeSupervisors_args)
        return this.equals((removeSupervisors_args)that);
      return false;
    }

    public boolean equals(removeSupervisors_args that) {
      if (that == null)
        return false;

      boolean this_present_number = true;
      boolean that_present_number = true;
      if (this_present_number || that_present_number) {
        if (!(this_present_number && that_present_number))
          return false;
        if (this.number != that.number)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_number = true;
      list.add(present_number);
      if (present_number)
        list.add(number);

      return list.hashCode();
    }

    @Override
    public int compareTo(removeSupervisors_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetNumber()).compareTo(other.isSetNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.number, other.number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeSupervisors_args(");
      boolean first = true;

      sb.append("number:");
      sb.append(this.number);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeSupervisors_argsStandardSchemeFactory implements SchemeFactory {
      public removeSupervisors_argsStandardScheme getScheme() {
        return new removeSupervisors_argsStandardScheme();
      }
    }

    private static class removeSupervisors_argsStandardScheme extends StandardScheme<removeSupervisors_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeSupervisors_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NUMBER
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.number = iprot.readI32();
                struct.setNumberIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeSupervisors_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldBegin(NUMBER_FIELD_DESC);
        oprot.writeI32(struct.number);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeSupervisors_argsTupleSchemeFactory implements SchemeFactory {
      public removeSupervisors_argsTupleScheme getScheme() {
        return new removeSupervisors_argsTupleScheme();
      }
    }

    private static class removeSupervisors_argsTupleScheme extends TupleScheme<removeSupervisors_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetNumber()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetNumber()) {
          oprot.writeI32(struct.number);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.number = iprot.readI32();
          struct.setNumberIsSet(true);
        }
      }
    }

  }

  public static class removeSupervisors_result implements org.apache.thrift.TBase<removeSupervisors_result, removeSupervisors_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeSupervisors_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeSupervisors_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeSupervisors_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeSupervisors_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeSupervisors_result.class, metaDataMap);
    }

    public removeSupervisors_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeSupervisors_result(removeSupervisors_result other) {
    }

    public removeSupervisors_result deepCopy() {
      return new removeSupervisors_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeSupervisors_result)
        return this.equals((removeSupervisors_result)that);
      return false;
    }

    public boolean equals(removeSupervisors_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(removeSupervisors_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeSupervisors_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeSupervisors_resultStandardSchemeFactory implements SchemeFactory {
      public removeSupervisors_resultStandardScheme getScheme() {
        return new removeSupervisors_resultStandardScheme();
      }
    }

    private static class removeSupervisors_resultStandardScheme extends StandardScheme<removeSupervisors_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeSupervisors_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeSupervisors_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeSupervisors_resultTupleSchemeFactory implements SchemeFactory {
      public removeSupervisors_resultTupleScheme getScheme() {
        return new removeSupervisors_resultTupleScheme();
      }
    }

    private static class removeSupervisors_resultTupleScheme extends TupleScheme<removeSupervisors_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class removeSpecSupervisors_args implements org.apache.thrift.TBase<removeSpecSupervisors_args, removeSpecSupervisors_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeSpecSupervisors_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeSpecSupervisors_args");

    private static final org.apache.thrift.protocol.TField CONTAINER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("container_id", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeSpecSupervisors_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeSpecSupervisors_argsTupleSchemeFactory());
    }

    public String container_id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CONTAINER_ID((short)1, "container_id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CONTAINER_ID
            return CONTAINER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CONTAINER_ID, new org.apache.thrift.meta_data.FieldMetaData("container_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeSpecSupervisors_args.class, metaDataMap);
    }

    public removeSpecSupervisors_args() {
    }

    public removeSpecSupervisors_args(
      String container_id)
    {
      this();
      this.container_id = container_id;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeSpecSupervisors_args(removeSpecSupervisors_args other) {
      if (other.isSetContainer_id()) {
        this.container_id = other.container_id;
      }
    }

    public removeSpecSupervisors_args deepCopy() {
      return new removeSpecSupervisors_args(this);
    }

    @Override
    public void clear() {
      this.container_id = null;
    }

    public String getContainer_id() {
      return this.container_id;
    }

    public removeSpecSupervisors_args setContainer_id(String container_id) {
      this.container_id = container_id;
      return this;
    }

    public void unsetContainer_id() {
      this.container_id = null;
    }

    /** Returns true if field container_id is set (has been assigned a value) and false otherwise */
    public boolean isSetContainer_id() {
      return this.container_id != null;
    }

    public void setContainer_idIsSet(boolean value) {
      if (!value) {
        this.container_id = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CONTAINER_ID:
        if (value == null) {
          unsetContainer_id();
        } else {
          setContainer_id((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CONTAINER_ID:
        return getContainer_id();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CONTAINER_ID:
        return isSetContainer_id();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeSpecSupervisors_args)
        return this.equals((removeSpecSupervisors_args)that);
      return false;
    }

    public boolean equals(removeSpecSupervisors_args that) {
      if (that == null)
        return false;

      boolean this_present_container_id = true && this.isSetContainer_id();
      boolean that_present_container_id = true && that.isSetContainer_id();
      if (this_present_container_id || that_present_container_id) {
        if (!(this_present_container_id && that_present_container_id))
          return false;
        if (!this.container_id.equals(that.container_id))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_container_id = true && (isSetContainer_id());
      list.add(present_container_id);
      if (present_container_id)
        list.add(container_id);

      return list.hashCode();
    }

    @Override
    public int compareTo(removeSpecSupervisors_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetContainer_id()).compareTo(other.isSetContainer_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetContainer_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.container_id, other.container_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeSpecSupervisors_args(");
      boolean first = true;

      sb.append("container_id:");
      if (this.container_id == null) {
        sb.append("null");
      } else {
        sb.append(this.container_id);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeSpecSupervisors_argsStandardSchemeFactory implements SchemeFactory {
      public removeSpecSupervisors_argsStandardScheme getScheme() {
        return new removeSpecSupervisors_argsStandardScheme();
      }
    }

    private static class removeSpecSupervisors_argsStandardScheme extends StandardScheme<removeSpecSupervisors_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeSpecSupervisors_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // CONTAINER_ID
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.container_id = iprot.readString();
                struct.setContainer_idIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeSpecSupervisors_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.container_id != null) {
          oprot.writeFieldBegin(CONTAINER_ID_FIELD_DESC);
          oprot.writeString(struct.container_id);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeSpecSupervisors_argsTupleSchemeFactory implements SchemeFactory {
      public removeSpecSupervisors_argsTupleScheme getScheme() {
        return new removeSpecSupervisors_argsTupleScheme();
      }
    }

    private static class removeSpecSupervisors_argsTupleScheme extends TupleScheme<removeSpecSupervisors_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeSpecSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetContainer_id()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetContainer_id()) {
          oprot.writeString(struct.container_id);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeSpecSupervisors_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.container_id = iprot.readString();
          struct.setContainer_idIsSet(true);
        }
      }
    }

  }

  public static class removeSpecSupervisors_result implements org.apache.thrift.TBase<removeSpecSupervisors_result, removeSpecSupervisors_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeSpecSupervisors_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeSpecSupervisors_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new removeSpecSupervisors_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new removeSpecSupervisors_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeSpecSupervisors_result.class, metaDataMap);
    }

    public removeSpecSupervisors_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public removeSpecSupervisors_result(removeSpecSupervisors_result other) {
    }

    public removeSpecSupervisors_result deepCopy() {
      return new removeSpecSupervisors_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof removeSpecSupervisors_result)
        return this.equals((removeSpecSupervisors_result)that);
      return false;
    }

    public boolean equals(removeSpecSupervisors_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(removeSpecSupervisors_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("removeSpecSupervisors_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class removeSpecSupervisors_resultStandardSchemeFactory implements SchemeFactory {
      public removeSpecSupervisors_resultStandardScheme getScheme() {
        return new removeSpecSupervisors_resultStandardScheme();
      }
    }

    private static class removeSpecSupervisors_resultStandardScheme extends StandardScheme<removeSpecSupervisors_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, removeSpecSupervisors_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, removeSpecSupervisors_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class removeSpecSupervisors_resultTupleSchemeFactory implements SchemeFactory {
      public removeSpecSupervisors_resultTupleScheme getScheme() {
        return new removeSpecSupervisors_resultTupleScheme();
      }
    }

    private static class removeSpecSupervisors_resultTupleScheme extends TupleScheme<removeSpecSupervisors_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, removeSpecSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, removeSpecSupervisors_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class upgradeCluster_args implements org.apache.thrift.TBase<upgradeCluster_args, upgradeCluster_args._Fields>, java.io.Serializable, Cloneable, Comparable<upgradeCluster_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("upgradeCluster_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new upgradeCluster_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new upgradeCluster_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(upgradeCluster_args.class, metaDataMap);
    }

    public upgradeCluster_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public upgradeCluster_args(upgradeCluster_args other) {
    }

    public upgradeCluster_args deepCopy() {
      return new upgradeCluster_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof upgradeCluster_args)
        return this.equals((upgradeCluster_args)that);
      return false;
    }

    public boolean equals(upgradeCluster_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(upgradeCluster_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("upgradeCluster_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class upgradeCluster_argsStandardSchemeFactory implements SchemeFactory {
      public upgradeCluster_argsStandardScheme getScheme() {
        return new upgradeCluster_argsStandardScheme();
      }
    }

    private static class upgradeCluster_argsStandardScheme extends StandardScheme<upgradeCluster_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, upgradeCluster_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, upgradeCluster_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class upgradeCluster_argsTupleSchemeFactory implements SchemeFactory {
      public upgradeCluster_argsTupleScheme getScheme() {
        return new upgradeCluster_argsTupleScheme();
      }
    }

    private static class upgradeCluster_argsTupleScheme extends TupleScheme<upgradeCluster_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, upgradeCluster_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, upgradeCluster_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class upgradeCluster_result implements org.apache.thrift.TBase<upgradeCluster_result, upgradeCluster_result._Fields>, java.io.Serializable, Cloneable, Comparable<upgradeCluster_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("upgradeCluster_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new upgradeCluster_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new upgradeCluster_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(upgradeCluster_result.class, metaDataMap);
    }

    public upgradeCluster_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public upgradeCluster_result(upgradeCluster_result other) {
    }

    public upgradeCluster_result deepCopy() {
      return new upgradeCluster_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof upgradeCluster_result)
        return this.equals((upgradeCluster_result)that);
      return false;
    }

    public boolean equals(upgradeCluster_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(upgradeCluster_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("upgradeCluster_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class upgradeCluster_resultStandardSchemeFactory implements SchemeFactory {
      public upgradeCluster_resultStandardScheme getScheme() {
        return new upgradeCluster_resultStandardScheme();
      }
    }

    private static class upgradeCluster_resultStandardScheme extends StandardScheme<upgradeCluster_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, upgradeCluster_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, upgradeCluster_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class upgradeCluster_resultTupleSchemeFactory implements SchemeFactory {
      public upgradeCluster_resultTupleScheme getScheme() {
        return new upgradeCluster_resultTupleScheme();
      }
    }

    private static class upgradeCluster_resultTupleScheme extends TupleScheme<upgradeCluster_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, upgradeCluster_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, upgradeCluster_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class shutdown_args implements org.apache.thrift.TBase<shutdown_args, shutdown_args._Fields>, java.io.Serializable, Cloneable, Comparable<shutdown_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shutdown_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new shutdown_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new shutdown_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(shutdown_args.class, metaDataMap);
    }

    public shutdown_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public shutdown_args(shutdown_args other) {
    }

    public shutdown_args deepCopy() {
      return new shutdown_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof shutdown_args)
        return this.equals((shutdown_args)that);
      return false;
    }

    public boolean equals(shutdown_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(shutdown_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("shutdown_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class shutdown_argsStandardSchemeFactory implements SchemeFactory {
      public shutdown_argsStandardScheme getScheme() {
        return new shutdown_argsStandardScheme();
      }
    }

    private static class shutdown_argsStandardScheme extends StandardScheme<shutdown_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, shutdown_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, shutdown_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class shutdown_argsTupleSchemeFactory implements SchemeFactory {
      public shutdown_argsTupleScheme getScheme() {
        return new shutdown_argsTupleScheme();
      }
    }

    private static class shutdown_argsTupleScheme extends TupleScheme<shutdown_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, shutdown_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, shutdown_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class shutdown_result implements org.apache.thrift.TBase<shutdown_result, shutdown_result._Fields>, java.io.Serializable, Cloneable, Comparable<shutdown_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shutdown_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new shutdown_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new shutdown_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(shutdown_result.class, metaDataMap);
    }

    public shutdown_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public shutdown_result(shutdown_result other) {
    }

    public shutdown_result deepCopy() {
      return new shutdown_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof shutdown_result)
        return this.equals((shutdown_result)that);
      return false;
    }

    public boolean equals(shutdown_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(shutdown_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("shutdown_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class shutdown_resultStandardSchemeFactory implements SchemeFactory {
      public shutdown_resultStandardScheme getScheme() {
        return new shutdown_resultStandardScheme();
      }
    }

    private static class shutdown_resultStandardScheme extends StandardScheme<shutdown_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, shutdown_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, shutdown_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class shutdown_resultTupleSchemeFactory implements SchemeFactory {
      public shutdown_resultTupleScheme getScheme() {
        return new shutdown_resultTupleScheme();
      }
    }

    private static class shutdown_resultTupleScheme extends TupleScheme<shutdown_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, shutdown_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, shutdown_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class getConfig_args implements org.apache.thrift.TBase<getConfig_args, getConfig_args._Fields>, java.io.Serializable, Cloneable, Comparable<getConfig_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getConfig_args");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getConfig_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getConfig_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getConfig_args.class, metaDataMap);
    }

    public getConfig_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getConfig_args(getConfig_args other) {
    }

    public getConfig_args deepCopy() {
      return new getConfig_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getConfig_args)
        return this.equals((getConfig_args)that);
      return false;
    }

    public boolean equals(getConfig_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(getConfig_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getConfig_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getConfig_argsStandardSchemeFactory implements SchemeFactory {
      public getConfig_argsStandardScheme getScheme() {
        return new getConfig_argsStandardScheme();
      }
    }

    private static class getConfig_argsStandardScheme extends StandardScheme<getConfig_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, getConfig_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, getConfig_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getConfig_argsTupleSchemeFactory implements SchemeFactory {
      public getConfig_argsTupleScheme getScheme() {
        return new getConfig_argsTupleScheme();
      }
    }

    private static class getConfig_argsTupleScheme extends TupleScheme<getConfig_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, getConfig_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, getConfig_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class getConfig_result implements org.apache.thrift.TBase<getConfig_result, getConfig_result._Fields>, java.io.Serializable, Cloneable, Comparable<getConfig_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getConfig_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getConfig_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getConfig_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getConfig_result.class, metaDataMap);
    }

    public getConfig_result() {
    }

    public getConfig_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getConfig_result(getConfig_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public getConfig_result deepCopy() {
      return new getConfig_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public getConfig_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getConfig_result)
        return this.equals((getConfig_result)that);
      return false;
    }

    public boolean equals(getConfig_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      return list.hashCode();
    }

    @Override
    public int compareTo(getConfig_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getConfig_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getConfig_resultStandardSchemeFactory implements SchemeFactory {
      public getConfig_resultStandardScheme getScheme() {
        return new getConfig_resultStandardScheme();
      }
    }

    private static class getConfig_resultStandardScheme extends StandardScheme<getConfig_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, getConfig_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, getConfig_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getConfig_resultTupleSchemeFactory implements SchemeFactory {
      public getConfig_resultTupleScheme getScheme() {
        return new getConfig_resultTupleScheme();
      }
    }

    private static class getConfig_resultTupleScheme extends TupleScheme<getConfig_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, getConfig_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, getConfig_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class setConfig_args implements org.apache.thrift.TBase<setConfig_args, setConfig_args._Fields>, java.io.Serializable, Cloneable, Comparable<setConfig_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setConfig_args");

    private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("value", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new setConfig_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new setConfig_argsTupleSchemeFactory());
    }

    public String key; // required
    public String value; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      KEY((short)1, "key"),
      VALUE((short)2, "value");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // KEY
            return KEY;
          case 2: // VALUE
            return VALUE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.VALUE, new org.apache.thrift.meta_data.FieldMetaData("value", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setConfig_args.class, metaDataMap);
    }

    public setConfig_args() {
    }

    public setConfig_args(
      String key,
      String value)
    {
      this();
      this.key = key;
      this.value = value;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setConfig_args(setConfig_args other) {
      if (other.isSetKey()) {
        this.key = other.key;
      }
      if (other.isSetValue()) {
        this.value = other.value;
      }
    }

    public setConfig_args deepCopy() {
      return new setConfig_args(this);
    }

    @Override
    public void clear() {
      this.key = null;
      this.value = null;
    }

    public String getKey() {
      return this.key;
    }

    public setConfig_args setKey(String key) {
      this.key = key;
      return this;
    }

    public void unsetKey() {
      this.key = null;
    }

    /** Returns true if field key is set (has been assigned a value) and false otherwise */
    public boolean isSetKey() {
      return this.key != null;
    }

    public void setKeyIsSet(boolean value) {
      if (!value) {
        this.key = null;
      }
    }

    public String getValue() {
      return this.value;
    }

    public setConfig_args setValue(String value) {
      this.value = value;
      return this;
    }

    public void unsetValue() {
      this.value = null;
    }

    /** Returns true if field value is set (has been assigned a value) and false otherwise */
    public boolean isSetValue() {
      return this.value != null;
    }

    public void setValueIsSet(boolean value) {
      if (!value) {
        this.value = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unsetKey();
        } else {
          setKey((String)value);
        }
        break;

      case VALUE:
        if (value == null) {
          unsetValue();
        } else {
          setValue((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return getKey();

      case VALUE:
        return getValue();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case KEY:
        return isSetKey();
      case VALUE:
        return isSetValue();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setConfig_args)
        return this.equals((setConfig_args)that);
      return false;
    }

    public boolean equals(setConfig_args that) {
      if (that == null)
        return false;

      boolean this_present_key = true && this.isSetKey();
      boolean that_present_key = true && that.isSetKey();
      if (this_present_key || that_present_key) {
        if (!(this_present_key && that_present_key))
          return false;
        if (!this.key.equals(that.key))
          return false;
      }

      boolean this_present_value = true && this.isSetValue();
      boolean that_present_value = true && that.isSetValue();
      if (this_present_value || that_present_value) {
        if (!(this_present_value && that_present_value))
          return false;
        if (!this.value.equals(that.value))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      boolean present_key = true && (isSetKey());
      list.add(present_key);
      if (present_key)
        list.add(key);

      boolean present_value = true && (isSetValue());
      list.add(present_value);
      if (present_value)
        list.add(value);

      return list.hashCode();
    }

    @Override
    public int compareTo(setConfig_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetKey()).compareTo(other.isSetKey());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetKey()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetValue()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.value, other.value);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setConfig_args(");
      boolean first = true;

      sb.append("key:");
      if (this.key == null) {
        sb.append("null");
      } else {
        sb.append(this.key);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("value:");
      if (this.value == null) {
        sb.append("null");
      } else {
        sb.append(this.value);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setConfig_argsStandardSchemeFactory implements SchemeFactory {
      public setConfig_argsStandardScheme getScheme() {
        return new setConfig_argsStandardScheme();
      }
    }

    private static class setConfig_argsStandardScheme extends StandardScheme<setConfig_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, setConfig_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.setKeyIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // VALUE
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.value = iprot.readString();
                struct.setValueIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, setConfig_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.key != null) {
          oprot.writeFieldBegin(KEY_FIELD_DESC);
          oprot.writeString(struct.key);
          oprot.writeFieldEnd();
        }
        if (struct.value != null) {
          oprot.writeFieldBegin(VALUE_FIELD_DESC);
          oprot.writeString(struct.value);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class setConfig_argsTupleSchemeFactory implements SchemeFactory {
      public setConfig_argsTupleScheme getScheme() {
        return new setConfig_argsTupleScheme();
      }
    }

    private static class setConfig_argsTupleScheme extends TupleScheme<setConfig_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, setConfig_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetKey()) {
          optionals.set(0);
        }
        if (struct.isSetValue()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetKey()) {
          oprot.writeString(struct.key);
        }
        if (struct.isSetValue()) {
          oprot.writeString(struct.value);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, setConfig_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.key = iprot.readString();
          struct.setKeyIsSet(true);
        }
        if (incoming.get(1)) {
          struct.value = iprot.readString();
          struct.setValueIsSet(true);
        }
      }
    }

  }

  public static class setConfig_result implements org.apache.thrift.TBase<setConfig_result, setConfig_result._Fields>, java.io.Serializable, Cloneable, Comparable<setConfig_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setConfig_result");


    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new setConfig_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new setConfig_resultTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setConfig_result.class, metaDataMap);
    }

    public setConfig_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setConfig_result(setConfig_result other) {
    }

    public setConfig_result deepCopy() {
      return new setConfig_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setConfig_result)
        return this.equals((setConfig_result)that);
      return false;
    }

    public boolean equals(setConfig_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();

      return list.hashCode();
    }

    @Override
    public int compareTo(setConfig_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setConfig_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setConfig_resultStandardSchemeFactory implements SchemeFactory {
      public setConfig_resultStandardScheme getScheme() {
        return new setConfig_resultStandardScheme();
      }
    }

    private static class setConfig_resultStandardScheme extends StandardScheme<setConfig_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, setConfig_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, setConfig_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class setConfig_resultTupleSchemeFactory implements SchemeFactory {
      public setConfig_resultTupleScheme getScheme() {
        return new setConfig_resultTupleScheme();
      }
    }

    private static class setConfig_resultTupleScheme extends TupleScheme<setConfig_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, setConfig_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, setConfig_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

}
